/**
 * care プラグインの見た目(3.0.2)。
 *
 * もともと各画面のHTMLの中に書いていたものを、1枚のファイルにまとめた。
 * ページの<head>で読み込むので、
 *  ・画面が出たときにはもう見た目が当たっている(素のテキストが一瞬見えない)
 *  ・2ページ目からはブラウザの控えが使われるので、そのぶん速い
 *
 * 直すときは includes/*.php ではなく、このファイルを直す。
 * (印刷用の別画面ぶんだけは、今まで通り includes/*.php の中に置いてある)
 */

/* ===== admin-menu.php ===== */
		.care-admin-tabs ~ .wrap > h1:first-child{font-size:18px;margin:12px 0 8px;padding:0;}
	

/* ===== admin-menu.php ===== */
		.care-sort-cell{width:76px;white-space:nowrap;vertical-align:middle;}
		.care-sort-handle{
			display:inline-block;padding:6px 6px;margin-right:2px;color:#8c8f94;font-size:15px;line-height:1;
			cursor:grab;touch-action:none;user-select:none;
		}
		.care-sort-handle:active{cursor:grabbing;}
		.care-sort-updown{display:inline-flex;flex-direction:column;gap:1px;vertical-align:middle;}
		.care-sort-updown button{
			width:26px;height:17px;padding:0;border:1px solid #c3c4c7;border-radius:3px;
			background:#f6f7f7;color:#50575e;font-size:9px;line-height:1;cursor:pointer;
		}
		.care-sort-updown button:hover{background:#e9eaea;}
		tr.care-sort-dragging{opacity:.45;}
		tr.care-sort-over > td{box-shadow:0 -2px 0 #3d6a5c inset;}
		.care-sortable-hint{color:#646970;font-size:12.5px;margin:6px 0 0 !important;}
		@media (max-width:782px){
			.care-sort-cell{width:64px;}
			.care-sort-updown button{width:30px;height:22px;font-size:11px;}
		}
	

/* ===== announcements.php ===== */
		.care-annpop{position:fixed;inset:0;z-index:99990;background:rgba(0,0,0,.55);display:flex;align-items:center;justify-content:center;padding:16px;}
		.care-annpop-box{background:#fff;border-radius:14px;max-width:460px;width:100%;padding:20px 20px 18px;box-shadow:0 10px 40px rgba(0,0,0,.35);border-top:8px solid #c0392b;text-align:center;}
		.care-annpop-title{margin:0 0 6px !important;font-size:18px;font-weight:700;color:#c0392b;}
		.care-annpop-from{margin:0 0 10px !important;font-size:13px;color:#666;}
		.care-annpop-from span{margin-left:8px;}
		.care-annpop-body{font-size:17px;line-height:1.7;text-align:left;background:#f7f9f8;border-radius:8px;padding:12px 14px;margin-bottom:16px;white-space:normal;max-height:46vh;overflow:auto;}
		.care-annpop-btn{width:100%;padding:16px;border:0;border-radius:10px;background:#3d6a5c;color:#fff;font-size:18px;font-weight:700;cursor:pointer;font-family:inherit;}
		.care-annpop-btn:hover{background:#345b4f;}
		.care-annpop-rest{margin:10px 0 0 !important;font-size:12.5px;color:#888;}
		@media print{.care-annpop{display:none !important;}}
	

/* ===== announcements.php ===== */
		.care-ann-card-head{display:flex !important;justify-content:space-between;gap:8px;font-size:12px;color:#6b7d75;flex-wrap:wrap;}
		.care-ann-card-from{font-weight:700;}
		.care-ann-card-body{font-size:14.5px;color:#233;line-height:1.6;white-space:pre-wrap;word-break:break-word;}
		.care-ann-card-head{display:flex !important;justify-content:space-between;gap:8px;font-size:12px;color:#6b7d75;flex-wrap:wrap;}
		.care-ann-card-body{display:block !important;}

		.care-ann-panel{display:flex !important;flex-direction:column;gap:14px;}
		.care-ann-panel .care-portal-header-row{display:flex !important;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;}
		.care-ann-form{
			display:flex !important;flex-direction:column;gap:10px;
			border:1px solid #e2e2e2;border-radius:10px;background:#fafafa;padding:16px;
		}
		.care-ann-label{font-weight:700;font-size:14px;color:#333;}
		.care-ann-form textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:15px;line-height:1.6;}
		.care-ann-opts{display:flex !important;flex-wrap:wrap;gap:8px 18px;align-items:flex-start;}
		/* 2.0.2: 「職員のトップページに出す」にチェックを入れたときだけ、相手を選ぶ欄を出す */
		.care-ann-mypage{display:block;width:100%;}
		.care-ann-targets{display:none;margin:6px 0 4px 22px;padding:8px 10px;border:1px solid #dcdcde;border-radius:8px;background:#fafafa;max-width:560px;}
		#care-ann-mypage:checked ~ .care-ann-targets{display:block;}
		.care-ann-all{font-weight:700;}
		.care-ann-people{display:none;flex-wrap:wrap;gap:4px 14px;margin-top:6px;padding-top:6px;border-top:1px dashed #dcdcde;}
		#care-ann-all:not(:checked) ~ .care-ann-people{display:flex;}
		.care-ann-cb{width:18px;height:18px;vertical-align:-3px;margin-right:4px;}
		.care-ann-people .care-checkbox-item{font-size:13.5px;}
		.care-ann-opts .care-checkbox-item{display:inline-flex !important;align-items:center;gap:6px;font-size:13.5px;color:#333;}
		.care-ann-until{display:flex !important;flex-wrap:wrap;align-items:center;gap:8px;font-size:13px;color:#555;}
		.care-ann-until input{padding:7px 10px;border:1px solid #ccc;border-radius:6px;font-size:14px;}
		.care-ann-hint{color:#8a8a8a;font-size:12px;}
		.care-ann-note{font-size:12.5px;color:#7a7a7a;}
		.care-ann-submit{text-align:center;}
		.care-ann-submit .care-btn{align-self:center !important;padding:11px 30px;font-size:15px;}
		.care-ann-empty{color:#888;font-size:13.5px;}
		.care-ann-list{display:flex !important;flex-direction:column;gap:10px;}
		.care-ann-row{
			border:1px solid #e2e2e2;border-radius:8px;background:#fff;padding:12px 14px;
			display:flex !important;flex-direction:column;gap:6px;
		}
		.care-ann-row.is-past{background:#fafafa;color:#8a8a8a;}
		.care-ann-row.is-past .care-ann-card-body{color:#8a8a8a;}
		.care-ann-tags{display:flex !important;flex-wrap:wrap;gap:6px;}
		.care-ann-tag{font-size:11px;padding:2px 8px;border-radius:10px;background:#eef3f1;color:#3d6a5c;border:1px solid #d7e4de;}
		.care-ann-tag.is-on{background:#3d6a5c;color:#fff;border-color:#3d6a5c;}
		.care-ann-hide{display:inline;margin:0;}
		.care-ann-hide-btn{font-size:11px;padding:2px 8px;border-radius:10px;border:1px solid #e0b4b1;background:#fff;color:#b32d2e;cursor:pointer;font-family:inherit;}
		.care-ann-hide-btn:hover{background:#fdecea;}
		.care-ann-tag.is-ng{background:#fdecea;color:#a4291c;border-color:#f0b8b0;}
		.care-ann-tag.is-past{background:#eee;color:#888;border-color:#ddd;}
		.care-ann-ackline{font-size:12.5px;color:#555;}
		.care-ann-yet{display:block;color:#a4291c;}
		@media (max-width:700px){
			.care-ann-opts{flex-direction:column;gap:6px;}
		}
	

/* ===== attachments.php ===== */
		.care-attach-mark{
			display:inline-flex;align-items:center;gap:1px;
			background:none;border:0;padding:0;cursor:pointer;
			font-size:15px;line-height:1;color:#4a7fb5;
		}
		.care-attach-count{font-size:10px;color:#666;}
		.care-attach-modal-box{
			position:relative;background:#fff;border-radius:10px;
			max-width:560px;width:100%;padding:18px;
			box-shadow:0 8px 30px rgba(0,0,0,.3);
		}
		.care-attach-modal-box h3{margin:0 0 10px;font-size:16px;}
		.care-attach-list{display:flex;flex-direction:column;gap:10px;max-height:62vh;overflow:auto;}
		.care-attach-item img{display:block;max-width:100%;border-radius:6px;border:1px solid #ddd;}
		.care-attach-file{display:inline-block;padding:8px 10px;border:1px solid #ddd;border-radius:6px;background:#fafafa;text-decoration:none;color:#333;word-break:break-all;}
		.care-attach-note{margin:10px 0 0;font-size:12px;color:#777;}
		.care-attach-field{margin-top:6px;}
		.care-attach-field input[type="file"]{
			display:block;width:100%;padding:10px;
			border:2px dashed #bbb;border-radius:8px;background:#fafafa;font-size:13px;box-sizing:border-box;
		}
		.care-attach-field .care-attach-hint{margin:4px 0 0;font-size:12px;color:#777;}
		.care-attach-current{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
		.care-attach-current img{height:54px;border-radius:4px;border:1px solid #ddd;}
		.care-attach-current .care-attach-file{font-size:12px;padding:4px 8px;}
	

/* ===== billing-import.php ===== */
		.care-imp-targets{display:flex;flex-wrap:wrap;gap:8px;margin:4px 0 2px;}
		.care-imp-target{
			display:inline-flex;align-items:center;gap:6px;padding:9px 16px;
			border:1px solid #cddbd5;border-radius:8px;background:#f8fbf9;
			font-size:14px;font-weight:600;color:#3d6a5c;cursor:pointer;
			-webkit-tap-highlight-color:transparent;
		}
		.care-imp-target:hover{background:#eef5f1;}
		.care-imp-target input{width:17px;height:17px;margin:0;accent-color:#3d6a5c;}
		.care-imp-target.is-on{background:#3d6a5c;border-color:#3d6a5c;color:#fff;}
		.care-imp-targets-note{margin-top:2px !important;}
		@media (max-width:700px){
			.care-imp-targets{gap:6px;}
			.care-imp-target{padding:10px 12px;font-size:13.5px;flex:1 1 44%;justify-content:center;}
		}
	

/* ===== billing-import.php ===== */
		.care-billing-imptable td,.care-billing-imptable th{white-space:nowrap;}
		.care-billing-imptable select{max-width:220px;padding:3px 4px;font-size:12px;}
		.care-imp-miss{background:#fbf7ee;}
		.care-imp-how{font-size:11px;color:#3d6a5c;}
		.care-imp-no{font-size:11px;color:#b1341f;}
		.care-imp-diff{color:#b1341f;font-weight:700;}
		.care-imp-override{font-size:12px;color:#8a5a00;line-height:1.6;}
	

/* ===== billing.php ===== */
		.care-billing,.care-billing *{box-sizing:border-box;}
		.care-billing-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px 14px;margin-bottom:8px;}
		.care-billing-title{font-size:17px;margin:0;}
		.care-billing-nav{display:flex;align-items:center;gap:8px;}
		.care-billing-nav .care-btn{padding:6px 12px;font-size:13px;}
		.care-billing-month{font-size:15px;white-space:nowrap;}
		.care-billing-tools{margin-left:auto;}
		.care-billing-tools .care-btn{padding:6px 12px;font-size:13px;}
		.care-billing-hint{font-size:12px;color:#666;line-height:1.6;margin:6px 0;}

		.care-billing-wrap{overflow-x:auto;border:1px solid #e2e2e2;border-radius:8px;max-height:72vh;overflow-y:auto;}
		.care-billing-table{width:100%;border-collapse:collapse;font-size:12px;white-space:nowrap;background:#fff;}
		.care-billing-table th,.care-billing-table td{border-bottom:1px solid #eee;border-right:1px solid #ddd;padding:4px 5px;text-align:right;}
		.care-billing-table thead th{background:#f2f2f2;position:sticky;top:0;z-index:2;text-align:center;font-weight:600;}
		.care-billing-table thead tr:first-child > th{height:28px;}
		.care-billing-table thead tr + tr > th{top:28px;}
		.care-billing-table .care-b-item small{display:block;font-weight:400;font-size:9.5px;color:#777;}
		.care-b-name{position:sticky;left:0;background:#fff;text-align:left !important;z-index:1;box-shadow:1px 0 0 #e6e6e6;min-width:150px;}
		.care-billing-table thead .care-b-name,.care-billing-table tfoot .care-b-name{background:#f2f2f2;z-index:3;}
		.care-b-person{font-weight:600;}
		.care-b-room{color:#888;font-size:11px;margin-left:2px;}
		.care-b-setlink{margin-left:6px;font-size:11px;color:#3d6a5c;text-decoration:none;border:1px solid #cddbd5;border-radius:10px;padding:1px 7px;background:#f4f9f6;}
		.care-b-contract{text-align:center !important;}
		.care-b-caplabel{font-size:11px;color:#777;}
		.care-b-out{background:#f4f9f6;font-weight:700;}
		.care-billing-table tfoot th{position:sticky;bottom:0;background:#f7f7f5;z-index:2;text-align:right;border-top:2px solid #cfd8d4;}
		.care-b-over.is-over{color:#b1341f;font-weight:700;}
		.care-b-over.is-warn{background:#fdecea;}
		.care-billing-table input{width:100%;border:1px solid #ccc;border-radius:4px;padding:3px 4px;font-size:12px;text-align:right;background:#fff;}
		.care-billing-table input:focus{outline:2px solid #9fc4b5;}
		.care-b-fee input,.care-b-meal input{width:36px;display:inline-block;margin-right:3px;}
		.care-b-fee .care-b-amt,.care-b-meal .care-b-amt{font-size:11px;color:#555;}
		.care-b-fee,.care-b-meal{min-width:96px;}
		.care-b-num input{min-width:64px;}
		.care-b-ext{min-width:128px;}
		.care-b-extwrap{display:flex;align-items:center;gap:3px;}
		.care-b-ext .care-b-qty{flex:0 0 40px;width:40px;min-width:0;}
		.care-b-ext .care-b-itemamt{flex:1 1 auto;min-width:0;}
		.care-b-ext.is-off{background:#fafafa;}
		.care-b-off{color:#bbb;}
		.care-b-memo input{min-width:120px;text-align:left;}
		.care-billing-actions{display:flex;align-items:center;gap:12px;margin-top:10px;}
		.care-billing-note{font-size:12px;color:#777;}

		/* 利用者ごとの設定 */
		.care-billing-card{border:1px solid #e2e2e2;border-radius:8px;padding:12px 14px;margin-bottom:12px;background:#fff;}
		.care-billing-card h3{font-size:14px;margin:0 0 8px;}
		.care-billing-fields{display:flex;flex-wrap:wrap;gap:10px 14px;}
		.care-billing-fields .care-field{display:flex;flex-direction:column;gap:3px;min-width:140px;}
		.care-billing-fields .care-field-wide{flex:1 1 260px;}
		.care-billing-fields label{font-size:12px;color:#666;}
		.care-billing-fields input,.care-billing-fields select{padding:6px 8px;font-size:14px;border:1px solid #ccc;border-radius:6px;background:#fff;}
		.care-billing-itemtable{width:100%;border-collapse:collapse;font-size:13px;}
		.care-billing-itemtable th,.care-billing-itemtable td{border-bottom:1px solid #eee;padding:6px 8px;text-align:left;}
		.care-billing-itemtable thead th{background:#f5f5f3;font-size:12px;}
		.care-billing-itemtable small{display:block;color:#888;font-size:11px;}
		.care-billing-itemtable input[type="text"]{width:90px;padding:4px 6px;border:1px solid #ccc;border-radius:4px;}
		.care-billing-itemtable select{padding:4px 6px;border:1px solid #ccc;border-radius:4px;}
		.care-billing-check{display:inline-flex;align-items:center;gap:4px;font-size:12.5px;}
		.care-billing-dash{color:#bbb;}

		@media (max-width:700px){
			.care-billing-tools{margin-left:0;}
			.care-billing-table{font-size:11px;}
		}
	

/* ===== billing.php ===== */
		/* 管理画面は左のメニューぶん幅が狭いので、表のまわりの余白を詰める */
		.care-billing-admin{margin-right:20px;}
		.care-billing-admin .care-billing-wrap{max-height:66vh;}
		.care-billing-admin .care-btn{
			display:inline-block;padding:6px 14px;border:1px solid #3d6a5c;border-radius:6px;
			background:#3d6a5c;color:#fff;font-size:13px;text-decoration:none;cursor:pointer;font-family:inherit;
		}
		.care-billing-admin .care-btn-secondary{background:#fff;color:#3d6a5c;}
		.care-billing-admin .care-notice{padding:8px 12px;border-radius:6px;background:#eef5f1;margin:8px 0;}
	

/* ===== body-measurements.php ===== */
		.care-body-cell{white-space:nowrap;}
		.care-body-cell.care-body-overdue{color:#c0392b;font-weight:bold;background:#fdf0ee;}
		.care-body-open-btn{margin-left:6px;padding:2px 8px;font-size:11px;line-height:1.6;border:1px solid #3d6a5c;border-radius:4px;background:#fff;color:#3d6a5c;cursor:pointer;}
		.care-body-open-btn:hover{background:#3d6a5c;color:#fff;}

		.care-body-modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);align-items:center;justify-content:center;z-index:99997;padding:16px;box-sizing:border-box;}
		.care-body-modal-overlay.is-open{display:flex;}
		.care-body-modal-box{background:#fff;border-radius:10px;padding:22px 24px;max-width:640px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 8px 28px rgba(0,0,0,.28);position:relative;box-sizing:border-box;}
		.care-body-modal-box *{box-sizing:border-box;}
		.care-body-modal-close{position:absolute;top:10px;right:12px;border:none;background:none;font-size:22px;line-height:1;cursor:pointer;color:#888;padding:4px;}
		.care-body-modal-close:hover{color:#333;}
		.care-body-modal-box h3{margin:0 0 14px 0 !important;font-size:16px;}

		.care-body-form-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;}
		.care-body-form-row label{display:flex;flex-direction:column;gap:3px;font-size:12.5px;color:#444;flex:1 1 120px;}
		.care-body-form-row input{padding:7px 8px;border:1px solid #ccc;border-radius:5px;font-size:13.5px;width:100%;}
		.care-body-save-btn{padding:8px 18px;border:none;border-radius:5px;background:#3d6a5c;color:#fff;font-size:13.5px;cursor:pointer;}

		.care-body-range-tabs{display:flex;gap:6px;margin:16px 0 10px 0;border-bottom:1px solid #e6e6e6;}
		.care-body-range-tab{padding:6px 14px;border:none;background:none;font-size:13px;color:#666;cursor:pointer;border-bottom:2px solid transparent;}
		.care-body-range-tab.is-active{color:#3d6a5c;border-bottom-color:#3d6a5c;font-weight:bold;}

		.care-body-range-panel{display:none;}
		.care-body-range-panel.is-active{display:block;}
		.care-body-empty{color:#888;font-size:13px;}

		.care-body-charts{display:flex;flex-wrap:wrap;gap:16px;margin-bottom:12px;}
		.care-body-chart-block{flex:1 1 220px;min-width:200px;}
		.care-body-chart-label{font-size:12px;color:#666;margin-bottom:2px;}
		.care-body-chart{width:100%;height:auto;display:block;}
		.care-body-chart-axis{font-size:9px;fill:#999;}
		.care-body-chart-unit{font-size:11px;color:#999;text-align:right;}
		.care-body-chart-empty{font-size:12px;color:#999;padding:10px 0;}

		.care-body-history-table{width:100%;border-collapse:collapse;font-size:12.5px;}
		.care-body-history-table th,.care-body-history-table td{padding:6px 8px;border-bottom:1px solid #eee;text-align:left;}
		.care-body-history-table thead th{background:#f6f6f6;}
	

/* ===== bulletin.php ===== */
		.care-bul-panel{display:flex !important;flex-direction:column;gap:14px;}
		.care-bul-panel .care-portal-header-row{display:flex !important;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;}
		.care-bul-form{
			display:flex !important;flex-direction:column;gap:10px;
			border:1px solid #e2e2e2;border-radius:10px;background:#fafafa;padding:16px;
		}
		.care-bul-form input[type="text"],
		.care-bul-form textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:15px;line-height:1.6;}
		.care-bul-opts{display:flex !important;flex-wrap:wrap;align-items:center;gap:10px 18px;font-size:13.5px;color:#444;}
		.care-bul-opts .care-checkbox-item{display:inline-flex !important;align-items:center;gap:6px;}
		.care-bul-until{display:inline-flex !important;align-items:center;gap:6px;}
		.care-bul-until input{padding:7px 10px;border:1px solid #ccc;border-radius:6px;font-size:14px;}
		.care-bul-empty{color:#888;font-size:13.5px;}
		.care-bul-list{display:flex !important;flex-direction:column;gap:10px;}
		/* 貼り紙のイメージで、少し紙っぽい色にする */
		.care-bul-card{
			display:flex !important;flex-direction:column;gap:6px;
			border:1px solid #e3ddd0;border-radius:10px;background:#fffdf7;padding:14px 16px;
			box-shadow:0 1px 3px rgba(0,0,0,.06);
		}
		/* まだ「見ました」を押していないものは目立たせる */
		.care-bul-card.is-unread{border-color:#f0c78a;border-left:5px solid #dd8420;background:#fff6e8;}
		.care-bul-card.is-past{background:#fafafa;border-color:#e6e6e6;color:#8a8a8a;}
		.care-bul-card.is-past .care-bul-body,
		.care-bul-card.is-past .care-bul-title{color:#8a8a8a;}
		.care-bul-head{display:flex !important;justify-content:space-between;gap:8px;font-size:12px;color:#7a7266;flex-wrap:wrap;}
		.care-bul-from{font-weight:700;}
		.care-bul-kind{
			align-self:flex-start;font-size:11px;padding:2px 8px;border-radius:10px;
			background:#eef3f1;color:#3d6a5c;border:1px solid #d7e4de;
		}
		.care-bul-title{font-size:16px !important;color:#2b2b2b;font-weight:700;}
		.care-bul-body{font-size:14.5px;color:#233;line-height:1.7;white-space:pre-wrap;word-break:break-word;}
		.care-bul-foot{display:flex !important;flex-wrap:wrap;gap:8px 14px;font-size:12.5px;color:#6b7d75;}
		.care-bul-count strong{color:#3d6a5c;font-size:14px;}
		.care-bul-until-tag{color:#9a8f7d;}
		.care-bul-actions{display:flex !important;flex-wrap:wrap;gap:8px;align-items:center;}
		.care-bul-actions form{margin:0 !important;}
		.care-bul-read-btn{background:linear-gradient(180deg,#f0a33a 0%,#dd8420 100%) !important;}
		.care-bul-done{font-size:12px;color:#3d6a5c;font-weight:600;}

		/* --- 一覧(タイトルだけ) --- */
		.care-bul-total{align-self:center;font-size:12.5px;color:#888;}
		.care-bul-rows{list-style:none;display:flex !important;flex-direction:column;gap:0;
			border:1px solid #e3ddd0;border-radius:10px;overflow:hidden;background:#fffdf7;padding:0 !important;}
		.care-bul-rows li + li{border-top:1px solid #efe9dd;}
		.care-bul-rows a{display:flex !important;flex-direction:column;gap:4px;padding:13px 15px;text-decoration:none;color:inherit;}
		.care-bul-rows a:hover{background:#fdf8ec;}
		.care-bul-row.is-new{border-left:5px solid #dd8420;background:#fff6e8;}
		.care-bul-row.is-past a{color:#9a9a9a;background:#fafafa;}
		.care-bul-row-title{font-size:15px;font-weight:700;color:#2b2b2b;line-height:1.5;word-break:break-word;}
		.care-bul-row.is-past .care-bul-row-title{color:#9a9a9a;font-weight:600;}
		.care-bul-row-meta{display:flex !important;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;color:#8a8275;}
		.care-bul-chip{font-size:10.5px;padding:1px 7px;border-radius:9px;background:#eef3f1;color:#3d6a5c;border:1px solid #d7e4de;}
		.care-bul-chip.is-rep{background:#fdecea;color:#a4291c;border-color:#f0b8b0;font-weight:700;}
		.care-bul-chip.is-unread{background:#fff1de;color:#94590a;border-color:#f5c26b;font-weight:700;}
		.care-bul-chip.is-off{background:#eee;color:#999;border-color:#ddd;}
		.care-bul-pager{display:flex !important;align-items:center;justify-content:center;gap:12px;font-size:12.5px;color:#666;}
		.care-bul-pager .care-btn{padding:7px 14px;font-size:13px;}

		/* --- 返信の届け先 --- */
		.care-bul-targets{border:1px dashed #cfc7b6;border-radius:8px;padding:10px 12px;background:#fffdf7;}
		.care-bul-targets-head{font-size:12.5px;font-weight:700;color:#5a5348;margin-bottom:6px !important;}
		.care-bul-targets-list{display:flex !important;flex-wrap:wrap;gap:6px 16px;max-height:150px;overflow-y:auto;}
		.care-bul-targets-list .care-checkbox-item{display:inline-flex !important;align-items:center;gap:5px;font-size:13.5px;}
		.care-bul-hint{font-size:12px;color:#8a8275;}
		.care-bul-submit{text-align:center;}
		.care-bul-submit .care-btn{align-self:center !important;padding:11px 34px;font-size:15px;}
		.care-bul-file{display:inline-flex !important;align-items:center;gap:8px;flex-wrap:wrap;}
		.care-bul-file input[type="file"]{font-size:12.5px;max-width:100%;}
		.care-bul-files{display:flex !important;flex-wrap:wrap;gap:8px;align-items:flex-start;}
		.care-bul-photo{display:block !important;border:1px solid #e3ddd0;border-radius:8px;overflow:hidden;line-height:0;}
		.care-bul-photo img{display:block;max-width:220px;max-height:220px;width:auto;height:auto;}
		.care-bul-file-link{display:inline-block !important;padding:8px 12px;border:1px solid #d7cfc0;border-radius:8px;
			background:#fff;color:#3d6a5c;font-size:13px;text-decoration:none;word-break:break-all;}
		.care-bul-file-link:hover{background:#faf6ec;}
		.care-bul-total{font-size:12.5px;color:#888;}
		.care-bul-more{margin-top:8px;padding:7px 12px;border:1px dashed #b9ad96;border-radius:6px;
			background:#fff;color:#6b6152;font-size:12.5px;font-weight:700;cursor:pointer;}
		.care-bul-more:hover{background:#faf6ec;}
		.care-bul-targets-others{margin-top:8px;padding-top:8px;border-top:1px dashed #e0d8c8;}
		/* 片方を選んだら、もう片方は押せないことが分かるようにする */
		.care-bul-opts .care-checkbox-item.is-guarded{opacity:.4;cursor:not-allowed;}

		/* --- 返信 --- */
		.care-bul-reply-block{display:flex !important;flex-direction:column;gap:10px;
			border:1px solid #e2e2e2;border-radius:10px;background:#fafafa;padding:14px 16px;}
		.care-bul-reply-block h3{font-size:15px !important;color:#333;}
		.care-bul-callout{font-size:13.5px;font-weight:700;color:#a4291c;background:#fdecea;
			border:1px solid #f0b8b0;border-radius:6px;padding:8px 12px;}
		.care-bul-reply-form{display:flex !important;flex-direction:column;gap:8px;}
		.care-bul-reply-form textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:15px;line-height:1.6;}
		.care-bul-reply-btn{align-self:flex-start !important;}
		.care-bul-stances{display:flex !important;gap:8px;flex-wrap:wrap;}
		.care-bul-stance{flex:1 1 90px;display:flex !important;align-items:center;justify-content:center;gap:6px;
			padding:11px 8px;border:2px solid #ddd;border-radius:8px;background:#fff;
			font-size:14px;font-weight:700;color:#666;cursor:pointer;}
		.care-bul-stance input{margin:0 !important;}
		.care-bul-stance:has(input:checked){color:#fff;}
		.care-bul-stance-agree:has(input:checked){background:#2e8b57;border-color:#2e8b57;}
		.care-bul-stance-oppose:has(input:checked){background:#c0392b;border-color:#c0392b;}
		.care-bul-stance-consult:has(input:checked){background:#dd8420;border-color:#dd8420;}
		.care-bul-tally{display:flex !important;gap:8px;flex-wrap:wrap;}
		.care-bul-stance-tag{font-size:11.5px;padding:2px 9px;border-radius:10px;border:1px solid #ddd;background:#fff;color:#666;font-weight:700;}
		.care-bul-stance-tag.care-bul-stance-agree{background:#eaf6ec;color:#1e5b2a;border-color:#bfe3c6;}
		.care-bul-stance-tag.care-bul-stance-oppose{background:#fbe9e7;color:#8a2c22;border-color:#f3c2ba;}
		.care-bul-stance-tag.care-bul-stance-consult{background:#fff1de;color:#94590a;border-color:#f5c26b;}
		.care-bul-replies{list-style:none;display:flex !important;flex-direction:column;gap:8px;padding:0 !important;}
		.care-bul-replies li{border:1px solid #e6e6e6;border-radius:8px;background:#fff;padding:10px 12px;
			display:flex !important;flex-direction:column;gap:4px;}
		.care-bul-reply-head{display:flex !important;flex-wrap:wrap;align-items:center;gap:8px;font-size:12px;color:#7a7266;}
		.care-bul-reply-body{font-size:14px;color:#233;line-height:1.6;white-space:pre-wrap;word-break:break-word;}
	

/* ===== cert-expiry.php ===== */
		.care-cert-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);align-items:center;justify-content:center;z-index:99999;padding:16px;box-sizing:border-box;}
		.care-cert-overlay.is-open{display:flex;}
		.care-cert-box{background:#fff;border-radius:12px;padding:22px 22px 18px;max-width:520px;width:100%;max-height:86vh;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,.3);position:relative;box-sizing:border-box;}
		.care-cert-box *{box-sizing:border-box;}
		.care-cert-box h3{margin:0 0 6px !important;font-size:17px;}
		.care-cert-lead{margin:0 0 14px !important;font-size:12.5px;color:#666;line-height:1.7;}
		.care-cert-close-form{position:absolute;top:8px;right:10px;margin:0;}
		.care-cert-close{border:none;background:none;font-size:24px;line-height:1;color:#999;cursor:pointer;padding:4px;}
		.care-cert-item{border:1px solid #e6e6e6;border-radius:10px;padding:12px 14px;margin-bottom:12px;}
		.care-cert-head{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;margin-bottom:4px;}
		.care-cert-resident{font-weight:700;font-size:15px;}
		.care-cert-room{color:#c0392b;margin-right:4px;}
		.care-cert-label{font-size:12.5px;color:#3d6a5c;border:1px solid #cfe1da;background:#eef5f2;border-radius:12px;padding:2px 10px;}
		.care-cert-expiry{font-size:14px;color:#444;margin-bottom:8px;}
		.care-cert-expiry.is-over{color:#c0392b;}
		.care-cert-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px 16px;}
		.care-cert-next{font-size:13px;color:#555;display:flex;align-items:center;gap:6px;}
		.care-cert-next input{padding:6px 8px;border:1px solid #ccc;border-radius:6px;font-size:14px;}
		.care-cert-dismiss{font-size:13.5px;color:#555;display:flex;align-items:center;gap:6px;}
		.care-cert-dismiss input{width:18px;height:18px;margin:0;}
		.care-cert-submit{margin-top:6px;}
		.care-cert-submit .care-btn{width:100%;padding:12px;border:none;border-radius:8px;background:#3d6a5c;color:#fff;font-size:15px;font-weight:600;cursor:pointer;}
		@media (max-width:480px){
			.care-cert-resident{font-size:16px;}
			.care-cert-expiry{font-size:15px;}
			.care-cert-next,.care-cert-dismiss{font-size:14.5px;}
		}
	

/* ===== chatwork.php ===== */
		.care-cw-panel{display:flex !important;flex-direction:column;gap:12px;}
		.care-cw-panel .care-portal-header-row{display:flex !important;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;}
		.care-cw-empty{color:#888;font-size:13.5px;}
		.care-cw-rooms{display:flex !important;flex-wrap:wrap;gap:6px;}
		.care-cw-room{
			padding:8px 14px;border:1px solid #cddbd5;border-radius:16px;background:#f4f9f6;
			color:#3d6a5c;font-size:13.5px;font-weight:600;text-decoration:none;
		}
		.care-cw-room.is-on{background:#3d6a5c;border-color:#3d6a5c;color:#fff;}
		.care-cw-me{margin-top:14px;border:1px solid #ddd;border-radius:8px;background:#fafafa;}
		.care-cw-me > summary{padding:10px 12px;cursor:pointer;font-size:13px;color:#444;}
		.care-cw-me-body{padding:0 12px 12px;font-size:13px;line-height:1.7;color:#444;}
		.care-cw-me-body p{margin:6px 0;}
		.care-cw-me-warn{color:#b3261e;font-weight:600;}
		.care-cw-me-how{color:#666;font-size:12px;}
		.care-cw-me-form{display:flex;gap:8px;flex-wrap:wrap;margin:8px 0 0;}
		.care-cw-me-form input{flex:1 1 220px;padding:8px;border:1px solid #ccc;border-radius:6px;font-size:16px;}
		.care-cw-warn{
			font-size:12.5px;color:#8a2c22;background:#fdecea;border:1px solid #f0b8b0;
			border-radius:6px;padding:8px 12px;
		}
		/* 3.0.6: 「いま読み込む」 */
		.care-cw-pullform{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:6px 0 10px;}
		.care-cw-pullnote{font-size:12px;color:#777;}
		.care-cw-thread{
			display:flex !important;flex-direction:column;gap:10px;
			border:1px solid #e2e2e2;border-radius:10px;background:#fafafa;padding:12px;
			max-height:60vh;overflow-y:auto;
		}
		.care-cw-msg{
			align-self:flex-start;max-width:88%;background:#fff;border:1px solid #e2e2e2;
			border-radius:10px;padding:9px 12px;display:flex !important;flex-direction:column;gap:4px;
		}
		.care-cw-msg.is-out{align-self:flex-end;background:#eef5f2;border-color:#cfe0d8;}
		.care-cw-msg-head{display:flex !important;gap:8px;align-items:baseline;font-size:11.5px;color:#7a8580;}
		.care-cw-msg-who{font-weight:700;}
		.care-cw-msg-body{font-size:14.5px;line-height:1.7;color:#233;white-space:pre-wrap;word-break:break-word;}
		.care-cw-msg-foot{display:flex !important;flex-wrap:wrap;gap:6px;align-items:center;}
		.care-cw-logform{display:flex !important;flex-wrap:wrap;gap:6px;align-items:center;margin:0 !important;}
		.care-cw-logform select{padding:5px 8px;border:1px solid #ccc;border-radius:6px;font-size:12.5px;max-width:170px;}
		.care-cw-logform .care-btn{padding:6px 12px;font-size:12.5px;}
		.care-cw-logged{font-size:12px;color:#3d6a5c;font-weight:600;}
		.care-cw-form{display:flex !important;flex-direction:column;gap:8px;}
		.care-cw-form textarea{width:100%;padding:10px;border:1px solid #ccc;border-radius:6px;font-size:15px;line-height:1.6;}
		.care-cw-submit{text-align:center;}
		.care-cw-submit .care-btn{align-self:center !important;padding:11px 30px;font-size:15px;}
	

/* ===== code-export.php ===== */
		.care-code-groups{display:flex;flex-wrap:wrap;gap:14px;margin:14px 0 24px;}
		.care-code-group{flex:1 1 320px;min-width:300px;background:#fff;border:1px solid #c3c4c7;padding:10px 14px;}
		.care-code-group h2{margin:0 0 8px;font-size:14px;display:flex;justify-content:space-between;align-items:center;gap:8px;}
		.care-code-file{display:flex;justify-content:space-between;align-items:center;gap:8px;padding:2px 0;font-size:12px;}
		.care-code-file code{background:none;padding:0;font-size:12px;}
		.care-code-size{color:#666;font-size:11px;white-space:nowrap;font-weight:400;}
		.care-code-total{margin-left:14px;font-weight:600;}
		.care-code-total.is-big{color:#b32d2e;}
	

/* ===== communication-logs.php ===== */
		.care-communication-form .care-form-row{display:flex;flex-wrap:wrap;gap:10px;margin-bottom:10px;}
		.care-communication-form .care-form-cell{flex:1 1 160px;min-width:0;display:block;}
		.care-communication-form .care-form-cell-wide{flex:1 1 100%;}
		/* 誰が・名前・誰に・名前 は横一列(狭い画面では2つずつ折り返す)。 */
		.care-communication-form .care-form-row-direction .care-form-cell{flex:1 1 150px;}
		@media (max-width:480px){
			.care-communication-form .care-form-row-direction .care-form-cell{flex:1 1 40%;}
		}
		.care-communication-form .care-form-label{display:block;font-size:12.5px;font-weight:600;color:#333;margin-bottom:4px;}
		/* 誰が ⇔ 誰に の入れ替えボタン */
		.care-communication-form .care-form-cell-swap{flex:0 0 auto !important;display:flex;flex-direction:column;align-items:center;}
		.care-comm-swap{
			width:38px;height:38px;padding:0;border:1px solid #b9cfc6;border-radius:8px;
			background:#f4f9f6;color:#2f5a4c;font-size:17px;line-height:1;cursor:pointer;
		}
		.care-comm-swap:hover{background:#e4f0ea;}
		.care-comm-swap:active{transform:translateY(1px);}
		/* スマホでは「誰が+名前」「誰に+名前」が2段になるので、
		   ⇔ はその間の行(上下の真ん中)に置く。 */
		@media (max-width:480px){
			.care-communication-form .care-form-row-direction .care-form-cell-swap{
				flex:1 0 100% !important;flex-direction:row !important;justify-content:center;
				margin:2px 0 !important;
			}
			.care-communication-form .care-form-cell-swap .care-form-label{display:none !important;}
			.care-comm-swap{width:72px;height:34px;font-size:16px;}
		}
		/* 「誰に」で選んだ相手の候補(登録してある連絡先) */
		.care-comm-suggest{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin:-4px 0 10px;}
		.care-comm-suggest[hidden]{display:none;}
		.care-comm-suggest-head{font-size:12px;color:#777;}
		.care-comm-suggest-btn{
			padding:6px 11px;border:1px solid #b9cfc6;border-radius:14px;background:#f4f9f6;
			color:#2f5a4c;font-size:13px;cursor:pointer;line-height:1.3;
		}
		.care-comm-suggest-btn:hover{background:#e4f0ea;}
		.care-communication-form input[type="text"],.care-communication-form input[type="tel"],.care-communication-form input[type="date"],.care-communication-form input[type="time"],.care-communication-form select,.care-communication-form textarea{width:100%;padding:8px;font-size:16px;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;}
		/* 種別のラジオボタン:記録画面の共通CSS(.care-record-card input{width:100%})に
		   引っ張られて丸が巨大化・ズレてしまうため、ここで明示的に打ち消す。 */
		.care-communication-form .care-radio-group{display:flex !important;flex-wrap:wrap;align-items:center;gap:6px 20px;padding-top:6px;width:auto !important;}
		.care-communication-form .care-radio-item{display:inline-flex !important;align-items:center;gap:6px;width:auto !important;flex:0 0 auto !important;white-space:nowrap;font-size:14px;}
		.care-communication-form .care-radio-item input[type="radio"]{
			width:20px !important;height:20px !important;min-width:0 !important;flex:none !important;
			margin:0 !important;padding:0 !important;border-radius:50% !important;font-size:inherit !important;
			accent-color:#3d6a5c;vertical-align:middle;
		}
		.care-communication-form .care-form-actions{margin:12px 0 0;}
		/* [hidden] は .care-btn の display に負けるので、ここで確実に隠す(1.93.0) */
		.care-communication-form .care-btn[hidden],
		.care-communication-form [hidden]{display:none !important;}
		/* FAX送信の欄(1.91.0) */
		.care-fax-box{border:1px solid #cfe1da;border-radius:8px;background:#f6faf8;padding:10px 12px;margin:0 0 12px;}
		.care-fax-box[hidden]{display:none;}
		.care-fax-head{font-size:14px;font-weight:700;color:#2f5a4c;margin-bottom:8px;}
		.care-communication-form .care-fax-box .care-form-row{margin-bottom:8px;}
		.care-communication-form .care-fax-box .care-form-cell-narrow{flex:0 0 96px;}
		.care-communication-form .care-fax-box .care-form-cell-wide2{flex:2 1 260px;}
		.care-fax-note{font-size:12px;color:#666;margin:2px 0 8px;}
		.care-fax-actions{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin:0;}
		.care-fax-msg{font-size:13px;color:#2f5a4c;}
		.care-fax-msg.is-error{color:#a3341f;}
		.care-fax-preview-wrap{margin-top:10px;}
		.care-fax-preview-wrap[hidden]{display:none;}
		.care-fax-preview-img{max-width:min(420px,100%);border:1px solid #ccc;background:#fff;display:block;}
		.care-fax-preview-note{font-size:12px;color:#666;margin:6px 0 0;}
		.care-comm-category-fax{border-color:#2f5a4c;color:#2f5a4c;}
		/* 時刻欄:入力欄の右に「-15分」「+15分」を並べる。 */
		.care-communication-form .care-form-cell-time{display:block;}
		.care-communication-form .care-time-stepper{display:flex;align-items:stretch;gap:4px;}
		.care-communication-form .care-time-stepper input[type="time"]{flex:1 1 auto;width:auto;min-width:0;}
		.care-communication-form .care-time-stepper .care-step-btn{
			flex:0 0 auto;min-width:46px;padding:6px 8px;font-size:12px;
			border:1px solid #ccc;border-radius:6px;background:#f7f7f7;color:#444;cursor:pointer;
		}

		/* 連絡記録の一覧:スマホ幅では列が細くなって文字が縦積みになってしまうため、
		   表の1行をカード状に組み替える。
		   1段目:日付・時刻(右端に編集/削除)
		   2段目:種別(四角で囲む)・記録者
		   3段目:「◯◯ が ◯◯ に」
		   4段目:内容(左右いっぱい) */
		@media (max-width:480px){
			.care-mini-communication_logs,
			.care-mini-communication_logs tbody{display:block;width:100%;}
			.care-mini-communication_logs thead{display:none;}
			.care-mini-communication_logs tbody tr{
				display:grid;
				grid-template-columns:auto auto 1fr auto;
				grid-template-areas:
					"cdate ctime . cact"
					"ccat cstaff cstaff cstaff"
					"cfrom cfrom cfrom cfrom"
					"ccontent ccontent ccontent ccontent";
				column-gap:8px;
				row-gap:5px;
				padding:12px 2px;
				border-bottom:1px solid #e6e6e6;
			}
			.care-mini-communication_logs tbody td{
				display:block;border:none !important;padding:0 !important;
				white-space:normal !important;word-break:break-word;font-size:13px;
			}
			.care-mini-communication_logs tbody td.care-col-record_date{grid-area:cdate;color:#3d6a5c;font-weight:600;}
			.care-mini-communication_logs tbody td.care-col-record_time{grid-area:ctime;color:#3d6a5c;font-weight:600;}
			.care-mini-communication_logs tbody td.care-col-category{
				grid-area:ccat;justify-self:start;align-self:center;
				border:1px solid #3d6a5c !important;border-radius:4px;
				padding:1px 10px !important;font-size:11.5px;color:#3d6a5c;line-height:1.7;
			}
			/* スマホは1件ずつカードで並ぶので、種別は丸印ではなく元の名前で出す */
			.care-mini-communication_logs tbody td.care-col-category .care-cat-mark{display:none !important;}
			.care-mini-communication_logs tbody td.care-col-category .care-cat-full{display:inline !important;}
			.care-mini-communication_logs tbody td.care-col-staff_name{grid-area:cstaff;align-self:center;font-size:12px;color:#888;}
			.care-mini-communication_logs tbody td.care-col-staff_name::before{content:'記録者 ';color:#bbb;font-size:11px;}
			.care-mini-communication_logs tbody td.care-col-from_type{grid-area:cfrom;}
			.care-mini-communication_logs tbody td.care-col-content{grid-area:ccontent;margin-top:2px;line-height:1.6;}
			.care-mini-communication_logs tbody td.care-mini-actions{grid-area:cact;white-space:nowrap !important;font-size:12px;text-align:right;}
		}
	

/* ===== communication-logs.php ===== */
		.care-comm-list{list-style:none;margin:0;padding:0;}
		.care-comm-item{padding:8px 0;border-bottom:1px solid #eee;}
		.care-comm-item:last-child{border-bottom:none;}
		.care-comm-meta{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:11.5px;margin-bottom:2px;}
		.care-comm-date{font-weight:600;color:#3d6a5c;}
		.care-comm-category{display:inline-block;padding:1px 6px;border-radius:4px;border:1px solid #2b6cb0;color:#2b6cb0;font-size:10.5px;}
		.care-comm-category-notice{border-color:#c0392b;color:#c0392b;}
		.care-comm-body{font-size:13px;line-height:1.6;white-space:pre-line;}
		.care-info-empty{font-size:13px;color:#888;margin:8px 0;}
	

/* ===== emergency-call.php ===== */
		/* 画面は「緊急ボタン → 記録 → (チャット・連絡) → 回覧板・訪問予定表・シフト…」の一列。
		   以前は緊急ボタンとメニューの間を伸ばして下半分に置いていたが、
		   使ってみて遠かったので、間を詰めて上から順に並べる(1.63.0)。 */
		.care-mypage{
			display:flex;flex-direction:column;gap:10px;max-width:480px;margin:0 auto !important;
			/* 3.7.1: これが無いと、まんなかに寄らない。
			   この箱は care-portal(たてに並べる箱)の中の1つなので、
			   ふだんは**横いっぱいに引き伸ばされる**。引き伸ばされているあいだは
			   margin:auto が効かず、max-width で細くなったぶんが**左に寄る**。
			   width:100% と書くと「引き伸ばし」ではなく自分の幅になるので、
			   max-width で細くなり、margin:auto がまんなかへ寄せてくれる。 */
			width:100%;
		}
		/* 3.7.6: いま動いている版。いちばん下に、目立たない大きさで。 */
		/* 3.9.0: 利用者一覧の申し送り欄に出す「無くなりそうな処方箋」。
		   押すと、その人の薬の一覧へ飛ぶ。申し送りの文より先に、目立つ形で出す。 */
		.care-ledger-medalert{
			display:inline-block;margin:0 0 4px !important;padding:3px 9px;
			border:1px solid #d9a441;border-radius:999px;background:#fff8e6;
			color:#8a5a00 !important;font-size:12px;font-weight:700;
			text-decoration:none;line-height:1.6;
		}
		.care-ledger-medalert:hover{background:#ffefc9;}
		.care-mypage-ver{text-align:center;font-size:11px;color:#b5bcb9;letter-spacing:.04em;}
		/* 3.7.7: 「幅しらべ」(?carewidth=1 のときだけ出る) */
		.care-mypage-widthreport{
			font-size:11px;line-height:1.6;color:#444;background:#f6f7f7;border:1px solid #dcdcdc;
			border-radius:6px;padding:8px;white-space:pre;overflow-x:auto;font-family:monospace;
		}
		.care-mypage .care-portal-header-row{display:flex !important;flex-wrap:wrap;align-items:baseline;justify-content:space-between;gap:8px;}
		.care-mypage-spacer{flex:0 0 auto;height:2px;}
		/* パスワードの変更(自分で) */
		.care-mypage-pw{border:1px solid #dfe5e2;border-radius:8px;background:#fafcfb;padding:8px 12px;}
		.care-mypage-pw > summary{cursor:pointer;font-size:14px;font-weight:700;color:#3d6a5c;list-style:revert;}
		.care-mypage-pw-form{display:flex;flex-direction:column;gap:8px;margin-top:10px;}
		.care-mypage-pw-form label{display:flex;flex-direction:column;gap:3px;font-size:13px;color:#444;}
		.care-mypage-pw-form input{
			padding:10px;border:1px solid #ccc;border-radius:6px;font-size:17px;
			font-family:inherit;box-sizing:border-box;width:100%;
		}
		.care-mypage-pw-hint{font-size:12px;color:#666;line-height:1.6;}
		.care-mypage-pw-buttons{display:flex;gap:10px;flex-wrap:wrap;align-items:center;}
		.care-mypage-pw-form .care-btn{align-self:flex-start;}
		.care-mypage-pw-form .care-btn-plain{
			background:#fff;color:#555;border:1px solid #c9d3cf;font-weight:400;}
		.care-mypage-grid{
			display:grid !important;grid-template-columns:repeat(2, 1fr) !important;
			gap:10px;width:100%;
		}
		/* 緊急ボタンは押し間違い防止のため、上下の隙間を広めに取る。 */
		.care-mypage-grid-emg{gap:20px 12px;}
		/* 3.8.1: 休憩の出入りが増えて6つになったので3列にする。
		   1つぶんが細くなるので、文字と内側の余白も少し小さくする
		   (スマホ390pxで、1つ115pxほど)。 */
		.care-mypage-grid-3{grid-template-columns:repeat(3, 1fr) !important;gap:16px 8px;}
		.care-mypage-grid-3 .care-mypage-tile{font-size:16px;}
		/* 緊急ボタンは「中の当たり判定」だけを押せるようにしてあるが、
		   3列だと横がせまいので、その当たり判定を左右に広げる
		   (せますぎると「対応します」が折り返して読みにくい)。 */
		.care-mypage-grid-3 .care-mypage-emg-hit{left:6%;right:6%;top:18%;bottom:18%;}
		/* メニュー(記録・シフト・勤怠・給与明細)は1段ずつ。 */
		.care-mypage-grid-menu{grid-template-columns:1fr !important;gap:10px;}
		/* タイルは「押せる立体的なボタン」に見えるよう、上明るく下暗いグラデーション＋
		   下向きの影を付ける。押した瞬間は2px沈み込ませる。 */
		.care-mypage-tile{
			display:flex !important;align-items:center;justify-content:center;flex-direction:column;gap:2px;
			padding:22px 10px;border-radius:12px;
			border:1px solid rgba(0,0,0,.16);
			font-size:18px;font-weight:700;color:#fff;text-align:center;
			text-shadow:0 1px 1px rgba(0,0,0,.22);
			text-decoration:none;cursor:pointer;line-height:1.3;
			box-shadow:0 3px 0 rgba(0,0,0,.22), 0 4px 8px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.28);
			transition:transform .06s ease, box-shadow .06s ease, filter .12s ease;
			-webkit-tap-highlight-color:transparent;
			user-select:none;
		}
		.care-mypage-tile:hover{filter:brightness(1.06);color:#fff;}
		.care-mypage-tile:active{
			transform:translateY(3px);
			box-shadow:0 0 0 rgba(0,0,0,.22), 0 1px 3px rgba(0,0,0,.16), inset 0 1px 0 rgba(255,255,255,.2);
		}
		.care-mypage-tile:focus-visible{outline:3px solid rgba(45,90,140,.4);outline-offset:2px;}
		.care-mypage-tile-accept{background:linear-gradient(180deg,#3fa46b 0%,#2e8b57 100%);}
		.care-mypage-tile-decline{background:linear-gradient(180deg,#d9503d 0%,#c0392b 100%);}
		.care-mypage-tile-help{background:linear-gradient(180deg,#f0a33a 0%,#dd8420 100%);}
		/* 3.8.1: 休憩入・休憩出。急ぎの用ではないので、緑や赤とは別の落ち着いた色にする
		   (押し間違えても色で気づけるように) */
		.care-mypage-tile-break{background:linear-gradient(180deg,#7f8c9b 0%,#66727f 100%);}
		.care-mypage-tile-records{background:linear-gradient(180deg,#4d8071 0%,#3d6a5c 100%);}
		.care-mypage-tile-shift{background:linear-gradient(180deg,#5b8fbc 0%,#4a7ba7 100%);}
		.care-mypage-tile-wide{grid-column:1 / -1;padding:20px 10px;}
		/* 記録は一番よく使うので高くして目立たせる(ヘルプボタンの真下)。 */
		.care-mypage-tile-tall{padding:36px 10px;font-size:22px;}
		/* 利用者を仮登録・仮登録の承認(運営チーム以上だけ)。2つ並べる */
		/* 連絡(職員のトップページに出したもの)。1.94.0 */
		.care-mypage-anns{display:flex;flex-direction:column;gap:8px;margin:0 0 14px;}
		.care-mypage-ann{
			border:1px solid #e0b84a;border-left:5px solid #e0b84a;border-radius:8px;
			background:#fffdf3;padding:9px 12px;
		}
		.care-mypage-ann-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:3px;font-size:12px;color:#7a5a00;}
		.care-mypage-ann-tag{background:#e0b84a;color:#fff;border-radius:9px;padding:1px 9px;font-weight:700;font-size:11px;}
		.care-mypage-ann-from{font-weight:700;}
		.care-mypage-ann-date{color:#9a8350;}
		.care-mypage-ann-body{font-size:14px;line-height:1.7;white-space:pre-line;color:#3a2f10;}
		.care-mypage-row2{
			grid-column:1 / -1;
			display:grid !important;grid-template-columns:repeat(2, 1fr) !important;gap:10px;
		}
		.care-mypage-tile-billing{
			background:linear-gradient(180deg,#5a7f9a 0%,#456580 100%);
			padding:14px 6px;font-size:15px;
		}
		.care-mypage-tile-register{
			background:linear-gradient(180deg,#7a9a5a 0%,#61804a 100%);
			padding:14px 6px;font-size:15px;
		}
		.care-mypage-tile-pending{
			background:linear-gradient(180deg,#b08a3c 0%,#8f6d2a 100%);
			padding:14px 6px;font-size:15px;
			flex-direction:row !important;gap:8px !important;
		}
		.care-mypage-tile-pending.is-empty{
			background:linear-gradient(180deg,#c9c3b4 0%,#b3ac9c 100%);
		}

		/* --- 緊急ボタン(対応します/対応不可/1階・2階ヘルプ) ---
		   色の付いた外枠は飾りで、実際に反応するのは中の当たり判定だけ。
		   端をタップしても何も起きず、文字のまわりを押したときだけ送信される。 */
		.care-mypage-emg{position:relative;padding:0;min-height:88px;cursor:default;}
		.care-mypage-emg:hover{filter:none;}
		.care-mypage-emg-hit{
			position:absolute;left:14%;right:14%;top:24%;bottom:24%;
			display:flex;align-items:center;justify-content:center;
			background:transparent;border:none;border-radius:8px;padding:0;
			color:inherit;font-size:inherit;font-weight:inherit;text-shadow:inherit;
			line-height:1.3;cursor:pointer;-webkit-tap-highlight-color:transparent;
		}
		/* 押している間は、外枠ごと沈み込んで暗くなる(押した実感を出す) */
		.care-mypage-emg.is-pressed,
		.care-mypage-emg:has(.care-mypage-emg-hit:active){
			transform:translateY(4px);
			filter:brightness(.88);
			box-shadow:0 0 0 rgba(0,0,0,.22), 0 1px 2px rgba(0,0,0,.16), inset 0 3px 8px rgba(0,0,0,.3);
		}
		.care-mypage-emg-hit:focus-visible{outline:3px solid rgba(255,255,255,.85);outline-offset:0;}
		.care-mypage-tile-soon{
			background:linear-gradient(180deg,#e0e0e0 0%,#cfcfcf 100%);
			color:#7a7a7a;cursor:default;text-shadow:none;
			box-shadow:0 2px 0 rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.6);
		}
		.care-mypage-tile-soon:hover{filter:none;}
		.care-mypage-tile-soon:active{transform:none;box-shadow:0 2px 0 rgba(0,0,0,.10), inset 0 1px 0 rgba(255,255,255,.6);}
		.care-mypage-tile-soon small{font-weight:400;font-size:11px;color:#8b8b8b;}
		/* 「チャット(外部)」「連絡を送る」は出る人と出ない人がいるので、
		   記録の下・回覧板の上に置き、上の並び(緊急ボタン・記録)がずれないようにしている。 */
		.care-mypage-tile-chat{
			background:linear-gradient(180deg,#4f93a8 0%,#3d7c8f 100%);
			padding:13px 10px;font-size:16px;
		}
		.care-mypage-tile-notice{
			background:linear-gradient(180deg,#8a7fb5 0%,#736aa0 100%);
			padding:13px 10px;font-size:16px;
		}
		/* 3.5.7: 薬。色を決めていなかったので、白地に白文字で読めなかった。
		   グレーで塗りつぶし、文字は白のままにする。 */
		.care-mypage-tile-med{
			background:linear-gradient(180deg,#9b9b9b 0%,#7e7e7e 100%);
			padding:13px 10px;font-size:16px;
		}
		/* 3.1.0: 施設とやり取りする書類 */
		.care-mypage-tile-files{
			background:linear-gradient(180deg,#7a8a9c 0%,#63738a 100%);
			padding:13px 10px;font-size:16px;position:relative;
		}
		.care-mypage-badge{
			display:inline-block;min-width:20px;margin-left:8px;padding:1px 7px;
			border-radius:11px;background:#fff;color:#b3261e;font-size:13px;font-weight:800;
		}
		.care-sf-lead{font-size:13px;color:#555;line-height:1.8;margin:6px 0 10px;}
		.care-sf-form input[type="text"]{padding:8px;border:1px solid #ccc;border-radius:6px;font-size:15px;min-width:200px;}
		/* 回覧板。未読があるときはオレンジのバッジを付ける */
		.care-mypage-tile-visit{
			background:linear-gradient(180deg,#5c8fa8 0%,#487a93 100%);
		}
		.care-mypage-tile-bulletin{
			background:linear-gradient(180deg,#c08a4a 0%,#a97236 100%);
			flex-direction:row !important;gap:10px !important;
		}
		.care-mypage-badge{
			font-size:12px;font-weight:700;padding:2px 9px;border-radius:11px;
			background:#fff;color:#a4291c;text-shadow:none;line-height:1.6;
		}
		/* 回覧板で返信をお願いされている投稿の案内(件数だけ出し、タップで開く) */
		.care-mypage-reqs{width:100%;border:1px solid #f0b8b0;border-radius:10px;background:#fdecea;overflow:hidden;}
		.care-mypage-reqs > summary{
			display:flex !important;align-items:center;gap:8px;
			padding:12px 14px;font-size:14px;font-weight:700;color:#8a2c22;
			cursor:pointer;list-style:none;-webkit-tap-highlight-color:transparent;user-select:none;
		}
		.care-mypage-reqs > summary::-webkit-details-marker{display:none;}
		.care-mypage-reqs > summary::before{
			content:"▶";font-size:11px;color:#c0392b;transition:transform .15s ease;
		}
		.care-mypage-reqs[open] > summary::before{transform:rotate(90deg);}
		.care-mypage-reqs-list{display:flex !important;flex-direction:column;gap:6px;padding:0 10px 10px;}
		.care-mypage-req{
			display:flex !important;align-items:center;gap:10px;flex-wrap:wrap;
			border:1px solid #f0b8b0;border-left:5px solid #c0392b;border-radius:8px;
			background:#fff;padding:10px 12px;text-decoration:none;
		}
		.care-mypage-req:hover{background:#fff6f4;}
		.care-mypage-req-tag{font-size:11px;font-weight:700;color:#fff;background:#c0392b;border-radius:9px;padding:2px 9px;}
		.care-mypage-req-title{font-size:14px;font-weight:700;color:#8a2c22;word-break:break-word;}
		/* シフト・勤怠・給与明細は1列に3つ並べる */
		.care-mypage-row3{
			grid-column:1 / -1;
			display:grid !important;grid-template-columns:repeat(3, 1fr) !important;gap:10px;
		}
		.care-mypage-row3 .care-mypage-tile{padding:16px 4px;font-size:15px;}
		.care-mypage-row3 .care-mypage-tile-soon small{font-size:10px;}

		@media (max-width:360px){
			.care-mypage-row3 .care-mypage-tile{font-size:13px;}
		}
		/* スマホにアプリとして入れるQR(パソコンだけ) */
		.care-mypage-qr{
			display:flex;align-items:center;gap:14px;margin-top:8px;
			border:1px dashed #b9c8c2;border-radius:12px;background:#fff;padding:12px 14px;
		}
		.care-mypage-qr-img{flex:0 0 auto;line-height:0;}
		.care-mypage-qr-img svg{display:block;width:150px;height:150px;}
		.care-mypage-qr-text{display:flex;flex-direction:column;gap:4px;font-size:12.5px;color:#555;line-height:1.6;}
		.care-mypage-qr-text strong{font-size:14px;color:#3d6a5c;}
		/* スマホ(タッチの端末)では、自分の画面は読み取れないので出さない */
		@media (hover:none) and (pointer:coarse){
			.care-mypage-qr{display:none;}
		}
		/* 準備中の2つは控えめな高さにして、記録・シフトを目立たせる */
		.care-mypage-tile-soon.care-mypage-tile-wide{padding:14px 10px;font-size:16px;}
	

/* ===== field-options.php ===== */
		.care-choice{display:flex;flex-direction:column;gap:6px;width:100%;}
		.care-choice .care-choice-select,.care-choice .care-choice-input{width:100%;box-sizing:border-box;}
		.care-choice-table .care-choice-select,.care-choice-table .care-choice-input{max-width:25em;}
	

/* ===== insurance-alert.php ===== */
		.care-insurance-alert .care-insurance-alert-title{margin:10px 0 6px;}
		.care-insurance-alert-list{margin:0 0 8px 0;padding-left:1.4em;font-size:13px;}
		.care-insurance-alert-list li{margin-bottom:2px;}
		.care-insurance-alert-missing{color:#c0392b;font-size:12px;margin-left:4px;}
		.care-insurance-alert-actions{margin:6px 0 10px;font-size:12px;}
	

/* ===== kintai.php ===== */
		.care-kintai-top{display:flex;flex-wrap:wrap;gap:10px 24px;align-items:center;margin:8px 0 12px;}
		.care-kintai-monthform,.care-kintai-nightform{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
		.care-kintai-monthform input[type="month"]{padding:4px 6px;}
		/* 3.0.3: 名前のボタンを人数ぶん並べると場所を取るので、プルダウンにした */
		.care-kintai-pickrow{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0 0 10px;}
		.care-kintai-picklabel{display:flex;align-items:center;gap:6px;font-size:13px;color:#444;font-weight:600;}
		.care-kintai-staffsel{min-width:200px;padding:5px 6px;font-size:14px;}
		.care-kintai-prev,.care-kintai-next{padding:2px 10px !important;}
		.care-kintai-pickpos{font-size:12px;color:#777;}
		.care-kintai-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:0 0 10px;}
		.care-kintai-tab{padding:6px 12px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#333;cursor:pointer;font-size:13px;}
		.care-kintai-tab.is-on{background:#3d6a5c;border-color:#3d6a5c;color:#fff;}
		/* 仮締め=黄、締め=青(1.92.0) */
		.care-kintai-tab.is-temp{background:#fff3c4;border-color:#e0b84a;color:#7a5a00;}
		.care-kintai-tab.is-final{background:#dbe9f7;border-color:#2b6cb0;color:#1c4a7a;}
		.care-kintai-tab.is-temp::after{content:"仮";margin-left:4px;font-size:10px;background:#fff;border-radius:6px;padding:0 4px;}
		.care-kintai-tab.is-final::after{content:"締";margin-left:4px;font-size:10px;background:#fff;border-radius:6px;padding:0 4px;}
		.care-kintai-tab.is-on{background:#3d6a5c;border-color:#3d6a5c;color:#fff;}
		.care-kintai-tab.is-on.is-temp{background:#e0a800;border-color:#b98900;color:#fff;}
		.care-kintai-tab.is-on.is-final{background:#2b6cb0;border-color:#2b6cb0;color:#fff;}
		.care-kintai-act.is-temp{background:#fff3c4;border-color:#e0b84a;color:#7a5a00;}
				/* 2.0.12: 画面の右端まで使う(区分がつぶれていたため) */
		.care-kintai-sheet{background:#fff;border:1px solid #dcdcde;border-radius:8px;padding:12px 14px;max-width:none;}
		.care-kintai-sheet[hidden]{display:none;}
		.care-kintai-head{display:flex;flex-wrap:wrap;gap:8px 24px;align-items:flex-start;justify-content:space-between;margin-bottom:8px;}
		.care-kintai-name{font-size:18px;font-weight:700;}
		.care-kintai-name small{font-weight:400;color:#666;font-size:13px;margin-left:8px;}
		.care-kintai-lockbadge{display:inline-block;margin-left:10px;padding:2px 8px;border-radius:10px;font-size:12px;font-weight:700;}
		.care-kintai-lockbadge.is-temp{background:#fff3c4;color:#7a5a00;}
		.care-kintai-lockbadge.is-final{background:#dbe9f7;color:#1c4a7a;}
		.care-kintai-reopen{margin-left:6px;font-size:12px;}
		.care-kintai-sum{display:flex;flex-wrap:wrap;gap:4px 14px;margin:0;}
		.care-kintai-sum div{display:flex;flex-direction:column;align-items:center;min-width:64px;}
		.care-kintai-sum dt{font-size:11px;color:#666;}
		.care-kintai-sum dd{margin:0;font-size:16px;font-weight:700;}
		/* 3.0.3: 名前・合計の行と、表の見出しの行を上に貼りつける。
		   貼りつく位置(--kt-top)と、名前の行の高さ(--kt-head)は
		   assets/js/kintai.js がそのつど測って入れる。
		   表は箱の中でスクロールしていないので、基準は画面そのものになる。 */
		.care-kintai-head{
			position:sticky;top:var(--kt-top,0px);z-index:6;
			background:#fff;padding-top:6px;box-shadow:0 1px 0 #e3e3e3;
		}
		.care-kintai-table{border-collapse:separate;border-spacing:0;width:100%;font-size:13px;}
		.care-kintai-table th,.care-kintai-table td{border:1px solid #d5d5d5;padding:2px 4px;text-align:center;white-space:nowrap;}
		/* border-collapse:separate にしたので、となりあう枠が二重にならないようにする */
		.care-kintai-table th,.care-kintai-table td{border-left:0;border-top:0;}
		.care-kintai-table tr > th:first-child,
		.care-kintai-table tr > td:first-child{border-left:1px solid #d5d5d5;}
		.care-kintai-table thead th{border-top:1px solid #d5d5d5;}
		.care-kintai-table thead th{
			position:sticky;top:calc(var(--kt-top,0px) + var(--kt-head,0px));z-index:5;
			background:#f0f0f0;font-weight:600;
		}
		.care-kintai-table th.is-input{background:#e6f0ec;}
		.care-kintai-table td.is-input{background:#f6faf8;}
		.care-kintai-table input[type="time"]{width:88px;padding:1px 2px;font-size:13px;}
		.care-kintai-table input[type="number"]{width:56px;padding:1px 2px;font-size:13px;}
		.care-kintai-table input[type="text"]{width:100%;min-width:120px;padding:1px 4px;font-size:13px;}
		.care-kintai-table select{padding:1px 2px;font-size:13px;min-width:64px;}
		.care-kintai-table td.c-kind{width:76px;}
		.care-kintai-table td.c-note{width:auto;}
		.care-kintai-table td.c-edit{width:58px;}
		.care-kintai-edit{padding:1px 8px;font-size:12px;cursor:pointer;}
		/* この日の勤怠を直す窓 */
		.care-kintai-rowform{display:flex;flex-wrap:wrap;gap:10px 14px;margin:10px 0 14px;}
		.care-kintai-rowform label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#555;font-weight:600;}
		.care-kintai-rowform label.is-wide{flex:1 1 100%;}
		.care-kintai-rowform input,.care-kintai-rowform select{padding:5px 6px;font-size:15px;}
		.care-kintai-rowform label.is-wide input{width:100%;box-sizing:border-box;}
		.care-kintai-table input[readonly]{background:#f3f3f3;border-color:#e0e0e0;color:#555;}
		.care-kintai-table td.c-note{text-align:left;}
		.care-kintai-row.is-holiday td.c-day,.care-kintai-row.is-holiday td.c-wd{color:#c0392b;}
		.care-kintai-row.is-sat td.c-day,.care-kintai-row.is-sat td.c-wd{color:#2b6cb0;}
		.care-kintai-row.is-second td{background:#fff8dc;}
		.care-kintai-row.is-second td.c-day small{color:#8a6d00;margin-left:1px;}
		.care-kintai-row.is-off td.c-plan,.care-kintai-row.is-off td.c-act{color:#bbb;}
		.care-kintai-row.is-saving td.c-day{color:#3d6a5c;}
		.care-kintai-row.is-error td{background:#fde3df;}
		.care-kintai-sheet.is-final .care-kintai-table td.is-input{background:#f3f3f3;}
		.care-kintai-sheet.is-temp{border-color:#e0b84a;box-shadow:inset 0 3px 0 #fff3c4;}
		.care-kintai-sheet.is-final{border-color:#2b6cb0;box-shadow:inset 0 3px 0 #dbe9f7;}
		.care-kintai-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:14px 0;}
		.care-kintai-msg{font-size:13px;color:#3d6a5c;}
		.care-kintai-msg.is-error{color:#a3341f;}
		.care-kintai-modal{position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;}
		.care-kintai-modal[hidden]{display:none;}
		.care-kintai-modal-box{background:#fff;border-radius:10px;padding:18px 20px;width:min(520px,92vw);max-height:86vh;overflow:auto;}
		.care-kintai-modal-title{margin:0 0 6px;font-size:18px;}
		.care-kintai-modal-lead{margin:0 0 10px;color:#555;}
		.care-kintai-picklist{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 10px;margin:8px 0 12px;}
		.care-kintai-picklist label{white-space:nowrap;}
		.care-kintai-modal-foot{display:flex;gap:8px;margin:0;}
	

/* ===== list-export.php ===== */
		.care-list-export{display:inline-block;}
		.care-list-export-btn{cursor:pointer;font-family:inherit;}
		/* 2.1.5: 一覧の「居室/名前」の見出しのマスの中に置くときは、小さめにする */
		.care-ledger-table th .care-list-export{display:block;margin-top:5px;}
		.care-ledger-table th .care-list-export-btn{padding:3px 9px;font-size:11.5px;font-weight:600;border-radius:12px;}
		.care-list-export-modal{position:fixed;inset:0;z-index:99991;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px;}
		.care-list-export-modal[hidden]{display:none;}
		.care-list-export-box{background:#fff;border-radius:12px;padding:18px;width:100%;max-width:520px;box-shadow:0 10px 36px rgba(0,0,0,.3);}
		.care-list-export-title{margin:0 0 8px !important;font-size:16px;font-weight:700;}
		.care-list-export-lead{margin:0 0 10px !important;font-size:13px;color:#555;line-height:1.6;}
		.care-list-export-cols{display:flex;flex-wrap:wrap;gap:6px 14px;border:1px solid #e4e4e4;border-radius:8px;padding:9px 11px;margin-bottom:8px;}
		.care-list-export-col{display:inline-flex;align-items:center;gap:5px;font-size:13.5px;white-space:nowrap;}
		.care-list-export-col.is-locked{color:#aaa;}
		.care-list-export-note{margin:0 0 8px !important;font-size:12px;color:#777;}
		.care-list-export-actions{display:flex;flex-wrap:wrap;gap:8px;}
		.care-list-export-actions .care-btn{cursor:pointer;font-family:inherit;}
	

/* ===== login.php ===== */
		.care-login{
			display:flex;justify-content:center;padding:24px 14px 40px;
			font-family:"Hiragino Kaku Gothic ProN","Meiryo",sans-serif;
		}
		.care-login-card{
			width:100%;max-width:360px;background:#fff;border:1px solid #dfe5e2;
			border-radius:14px;padding:22px 20px 18px;box-shadow:0 2px 10px rgba(0,0,0,.05);
		}
		.care-login-head{text-align:center;margin-bottom:18px;}
		.care-login-icon{border-radius:14px;display:inline-block;}
		.care-login-name{margin:8px 0 0;font-size:16px;font-weight:700;color:#3d6a5c;line-height:1.4;}
		.care-login-error{
			margin:0 0 14px;padding:10px 12px;border-radius:8px;
			background:#fdecea;border:1px solid #f3c2ba;color:#a3341f;
			font-size:14px;line-height:1.6;
		}
		.care-login-form{display:flex;flex-direction:column;}
		.care-login-label{font-size:14px;font-weight:700;color:#444;margin:0 0 5px;}
		/* 16px より小さいと、iPhoneで勝手に拡大される */
		.care-login-input{
			width:100%;box-sizing:border-box;
			font-size:19px;line-height:1.4;padding:13px 12px;
			border:1px solid #c9d3cf;border-radius:8px;background:#fff;color:#222;
			letter-spacing:.04em;
		}
		.care-login-input:focus{outline:2px solid #3d6a5c;outline-offset:1px;}
		.care-login-form > .care-login-input{margin-bottom:16px;}
		.care-login-pw{position:relative;margin-bottom:16px;}
		.care-login-pw .care-login-input{padding-right:64px;}
		.care-login-eye{
			position:absolute;right:6px;top:50%;transform:translateY(-50%);
			border:1px solid #c9d3cf;border-radius:6px;background:#f4f6f5;color:#456;
			font-size:13px;padding:10px 12px;cursor:pointer;
		}
		/* 3.8.2: 「ログインしたままにする」は取りやめた。
		   その欄が持っていた下の余白(18px)が無くなり、パスワードと
		   ログインボタンがくっついてしまうので、ボタンの上に付け替える。 */
		.care-login-btn{margin-top:8px;}
		.care-login-btn{
			border:0;border-radius:9px;background:#3d6a5c;color:#fff;
			font-size:17px;font-weight:700;padding:15px 10px;cursor:pointer;
		}
		.care-login-btn:active{background:#325648;}
		.care-login-help{
			margin:16px 0 0;font-size:12px;line-height:1.7;color:#777;text-align:center;
		}
	

/* ===== meal-count.php ===== */
		.care-meal-cell{min-width:34px;padding:2px !important;}
		.care-meal-cell label{display:block;line-height:0;}
		.care-meal-check{width:17px !important;height:17px !important;margin:0 !important;padding:0 !important;}
		.care-meal-code{display:block;font-size:9.5px;color:#888;line-height:1.2;}
		.care-meal-foot th,.care-meal-foot td{background:#eef3f2;font-weight:700;}
	

/* ===== meal-options.php ===== */
		.care-options-form{display:grid !important;grid-template-columns:repeat(3, 1fr) !important;gap:14px !important;align-items:start;}
		.care-options-form > button[type=submit]{grid-column:1 / -1;justify-self:start;}
		@media (max-width:700px){
			.care-options-form{grid-template-columns:repeat(2, 1fr) !important;}
		}
		@media (max-width:460px){
			.care-options-form{grid-template-columns:1fr !important;}
		}
		.care-options-group{border:1px solid #e2e2e2;border-radius:8px;padding:12px 14px;background:#fafafa;display:flex;flex-direction:column;gap:8px;}
		.care-options-group h3{font-size:13px;margin:0 !important;}
		.care-options-list{display:flex;flex-direction:column;gap:6px;}
		.care-options-row input{width:100%;padding:6px 8px;border:1px solid #ccc;border-radius:5px;font-size:13.5px;}
		.care-options-add{align-self:flex-start;font-size:12.5px !important;padding:5px 10px !important;}
	

/* ===== meal-plan.php ===== */
			.care-meal-map-cols{display:flex;gap:32px;flex-wrap:wrap;}
			.care-meal-map-row{display:flex;align-items:center;gap:8px;margin-bottom:6px;}
			.care-meal-map-row > span{display:inline-block;min-width:44px;font-weight:600;}
			.care-meal-indiv td,.care-meal-indiv th{padding:4px 8px;}
		

/* ===== meal-plan.php ===== */
		/* 上にもスクロールバーを出す（表が長いと下のバーまで遠いため） */
		.care-meal-topbar{position:sticky;top:32px;z-index:30;overflow-x:auto;overflow-y:hidden;height:14px;max-width:100%;border:1px solid #c3c4c7;border-bottom:0;background:#fff;}
		@media screen and (max-width:782px){ .care-meal-topbar{top:46px;} }
		.care-meal-topbar > div{height:1px;}
		/* 2.0.2: 表そのものを画面の高さに収めて、その中で縦にも動かす。
		   こうすると見出し(日付の行)は箱の上に止まり、一番上の人が隠れない */
		.care-meal-scroll{overflow:auto;border:1px solid #c3c4c7;background:#fff;max-width:100%;}
		/* 左の4列を固定するので、枠線はセルごとに持つ（collapse だと固定中に消える） */
		.care-meal-table{border-collapse:separate;border-spacing:0;font-size:12px;}
		.care-meal-table th,.care-meal-table td{border-right:1px solid #d5d5d5;border-bottom:1px solid #d5d5d5;padding:0;text-align:center;box-sizing:border-box;background:#fff;}
		/* 縦に動かしたとき見出しを止める。WordPressの黒いバー（32px、スマホは46px）の下に潜らないよう、その分ずらす */
		.care-meal-table thead th{background:#f1f3f4;padding:2px 1px;font-weight:600;position:sticky;top:0;z-index:3;}
		.care-meal-table thead th.d{width:22px;min-width:22px;}
		.care-meal-table thead th.d span{display:block;font-weight:400;color:#666;font-size:10px;}
		/* 左に固定する4列。幅を決め打ちにして、left をその足し算にする */
		.care-meal-table .c-name{width:132px;min-width:132px;max-width:132px;text-align:left;padding:3px 4px;position:sticky;left:0;z-index:2;}
		.care-meal-table .c-rice{width:86px;min-width:86px;max-width:86px;position:sticky;left:132px;z-index:2;}
		.care-meal-table .c-oka {width:86px;min-width:86px;max-width:86px;position:sticky;left:218px;z-index:2;}
		.care-meal-table .c-knd {width:124px;min-width:124px;max-width:124px;white-space:nowrap;position:sticky;left:304px;z-index:2;border-right:2px solid #999;}
		.care-meal-table thead .c-name,.care-meal-table thead .c-rice,.care-meal-table thead .c-oka,.care-meal-table thead .c-knd{z-index:4;}
		.care-meal-table .c-name input[type=text]{width:100%;font-size:12px;padding:1px 3px;margin:0 0 2px;}
		.care-meal-table .c-name small{display:block;color:#888;font-size:10px;line-height:1.5;}
		.care-meal-table .c-name small label{display:inline-block;margin-right:6px;white-space:nowrap;}
		.care-meal-table .c-name input[type=checkbox]{width:13px;height:13px;margin:0 2px 0 0;vertical-align:-2px;}
		.care-meal-table .c-knd .mk{display:inline-block;width:16px;color:#555;}
		/* プルダウンは中身が読める幅にする */
		.care-meal-table select{font-size:12px;padding:0 20px 0 4px;min-height:26px;line-height:1.6;}
		.care-meal-table .c-rice select,.care-meal-table .c-oka select{width:78px;}
		.care-meal-table .c-knd select{width:96px;}
		.care-meal-table .c-sum{width:34px;min-width:34px;background:#fafafa;}
		.care-meal-table .c-ex,.care-meal-table .c-in,.care-meal-table .c-gp{width:76px;min-width:76px;text-align:right;padding:0 6px;background:#fafafa;font-variant-numeric:tabular-nums;}
		/* 個別の単価がある人は、金額のマスの左に色を付ける */
		.care-meal-table .c-ex.is-indiv{box-shadow:inset 3px 0 0 #b08a3c;}
		.care-meal-indiv td,.care-meal-indiv th{padding:4px 8px;}
		/* 土日・祝日は色を変える(紙の表と同じ) */
		.care-meal-table .w0{background:#fdece0;}
		.care-meal-table .w6{background:#e3eefb;}
		.care-meal-table thead th.hol span{color:#b32d2e;font-weight:600;}
		.care-meal-table td.m{width:22px;height:19px;cursor:pointer;}
		.care-meal-table td.m.on::after{content:'●';font-size:11px;line-height:19px;}
		.care-meal-table td.m:hover{outline:2px solid #2271b1;outline-offset:-2px;}
		.care-meal-table tr.is-first th,.care-meal-table tr.is-first td{border-top:2px solid #999;}
		.care-meal-table .linked{display:inline-block;font-size:12px;white-space:nowrap;}
		.care-meal-table .linked i,.care-meal-badge{display:inline-block;font-style:normal;font-size:9px;line-height:13px;padding:0 3px;margin-left:3px;border-radius:3px;background:#2271b1;color:#fff;vertical-align:1px;}
		.care-meal-map{margin:18px 0;max-width:760px;border:1px solid #dcdcde;background:#fff;padding:8px 12px;}
		.care-meal-map summary{cursor:pointer;font-weight:600;}
		.care-meal-map-cols{display:flex;gap:40px;flex-wrap:wrap;}
		.care-meal-map-row{display:flex;align-items:center;gap:8px;padding:2px 0;}
		.care-meal-map-row span{width:72px;}
		.care-meal-miss{max-width:760px;max-height:260px;overflow-y:auto;border:1px solid #dcdcde;background:#fff;padding:4px 8px;}
		.care-meal-miss-row{display:flex;align-items:center;gap:8px;padding:3px 0;border-bottom:1px solid #f0f0f1;}
		.care-meal-miss-row .d{width:74px;font-weight:600;}
		.care-meal-miss-row .k{width:24px;color:#555;}
		.care-meal-miss-row .nm{width:150px;}
		.care-meal-miss-row input[type=text]{flex:1;}
		.care-meal-table tr.is-off th,.care-meal-table tr.is-off td{background:#f0f0f0;color:#999;}
		.care-meal-table tr.is-off td.m.on::after{color:#bbb;}
		.care-meal-table tr.care-meal-staff th,.care-meal-table tr.care-meal-staff td{border-top:2px solid #444;background:#f7f7f7;font-weight:600;}
		.care-meal-table tr.care-meal-total th,.care-meal-table tr.care-meal-total td{background:#eef3f0;font-weight:700;}
	

/* ===== paid-leave.php ===== */
		.care-paid-list td,.care-paid-list th{vertical-align:middle;}
		.care-paid-list th small{display:block;font-weight:400;color:#777;font-size:11px;}
		.care-paid-num{text-align:center;font-size:15px;font-weight:700;}
		.care-paid-left.is-zero{color:#b3261e;}
		.care-paid-none{color:#999;}
		.care-paid-grants{display:flex;flex-wrap:wrap;gap:4px;margin-bottom:4px;}
		.care-paid-chip{display:inline-block;padding:1px 7px;border:1px solid #cfd8d4;border-radius:11px;background:#f6f8f7;font-size:11.5px;color:#555;white-space:nowrap;}
		.care-paid-chip.is-old{opacity:.5;text-decoration:line-through;}
		.care-paid-chip b{color:#3d6a5c;}
		.care-paid-duty{display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:700;}
		.care-paid-duty.is-ok{background:#e6f0ec;color:#2b6a4d;}
		.care-paid-duty.is-ng{background:#fdecea;color:#b3261e;}
		.care-paid-table input{text-align:center;}
	

/* ===== payroll.php ===== */
		.care-payroll-top{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin:8px 0 10px;}
		.care-payroll-top form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin:0;}
		.care-payroll-emp{display:inline-flex;gap:4px;}
		.care-payroll-settings{margin:0 0 12px;background:#fff;border:1px solid #dcdcde;border-radius:6px;padding:8px 12px;max-width:1100px;}
		.care-payroll-settings summary{cursor:pointer;font-weight:600;}
		.care-payroll-settings form{display:flex;flex-wrap:wrap;gap:10px 16px;align-items:center;margin-top:10px;}
		.care-payroll-wrap{overflow:auto;max-height:76vh;border:1px solid #dcdcde;border-radius:6px;background:#fff;}
		.care-payroll-table{border-collapse:separate;border-spacing:0;font-size:13px;background:#fff;}
		.care-payroll-table th,.care-payroll-table td{border-right:1px solid #e2e2e2;border-bottom:1px solid #e2e2e2;padding:2px 6px;text-align:right;white-space:nowrap;}
		.care-payroll-table thead th{position:sticky;top:0;z-index:3;background:#f0f0f0;text-align:center;font-weight:600;}
		.care-payroll-table th.c-label{position:sticky;left:0;z-index:2;background:#fafafa;text-align:left;min-width:190px;font-weight:500;}
		.care-payroll-table thead th.c-label{z-index:4;}
		.care-payroll-table tr.is-head th{background:#eef3f0;color:#2f5a4c;font-weight:700;text-align:left;}
		.care-payroll-table tr.is-total td,.care-payroll-table tr.is-total th{background:#f6faf8;font-weight:700;}
		.care-payroll-table tr.is-net td,.care-payroll-table tr.is-net th{background:#eaf4ff;font-weight:700;font-size:15px;}
		.care-payroll-table td.is-input{background:#fffdf2;}
		.care-payroll-table td.is-yn{text-align:center;}
		.care-payroll-yn{display:inline-block;min-width:34px;padding:0 6px;border-radius:10px;background:#f0f0f0;color:#999;font-size:12px;font-weight:700;}
		.care-payroll-yn.is-on{background:#e6f0ec;color:#2f5a4c;}
		.care-payroll-table td.is-input input{width:96px;text-align:right;padding:1px 4px;font-size:13px;}
		.care-payroll-table .c-sum{background:#f7f7f7;font-weight:600;}
		.care-payroll-table.is-master td.is-input input,.care-payroll-table.is-master td.is-input select{width:120px;font-size:13px;}
		.care-payroll-note{font-size:12px;color:#666;line-height:1.8;}
		/* 3.9.2: 給与マスタのCSV(書き出し・取り込み) */
		.care-payroll-csv{
			margin:10px 0 16px;padding:10px 14px;border:1px solid #d7ddda;border-radius:8px;background:#f7faf9;
		}
		.care-payroll-csv-h{margin:0 0 4px;font-weight:700;font-size:14px;color:#33513f;}
		.care-payroll-csv-btns{margin:8px 0 0;}
		.care-payroll-csv-up{display:flex;flex-wrap:wrap;gap:8px;align-items:center;margin:8px 0 0;}
	

/* ===== prep-tasks.php ===== */
		.care-prep-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);align-items:center;justify-content:center;z-index:99999;padding:16px;box-sizing:border-box;}
		.care-prep-overlay.is-open{display:flex;}
		.care-prep-box{background:#fff;border-radius:12px;padding:22px 22px 18px;max-width:520px;width:100%;max-height:86vh;overflow-y:auto;box-shadow:0 10px 30px rgba(0,0,0,.3);position:relative;box-sizing:border-box;}
		.care-prep-box *{box-sizing:border-box;}
		.care-prep-box h3{margin:0 0 6px !important;font-size:17px;}
		.care-prep-lead{margin:0 0 14px !important;font-size:12.5px;color:#666;line-height:1.7;}
		.care-prep-close-form{position:absolute;top:8px;right:10px;margin:0;}
		.care-prep-close{border:none;background:none;font-size:24px;line-height:1;color:#999;cursor:pointer;padding:4px;}
		.care-prep-close:hover{color:#333;}
		.care-prep-group{border:1px solid #e6e6e6;border-radius:10px;padding:12px 14px;margin-bottom:12px;}
		.care-prep-resident{font-weight:700;font-size:14.5px;margin-bottom:8px;}
		.care-prep-room{color:#c0392b;margin-right:6px;}
		.care-prep-list{list-style:none;margin:0;padding:0;}
		.care-prep-item{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;padding:7px 0;border-bottom:1px solid #f0f0f0;}
		.care-prep-item:last-child{border-bottom:none;}
		.care-prep-check{display:flex;align-items:center;gap:8px;flex:1 1 190px;font-size:14px;cursor:pointer;}
		.care-prep-check input{width:20px;height:20px;flex:none;margin:0;}
		.care-prep-assigned{font-size:11.5px;color:#3d6a5c;background:#eef5f2;border:1px solid #cfe1da;border-radius:12px;padding:2px 9px;white-space:nowrap;}
		.care-prep-assign-select{font-size:12px;padding:4px 6px;border:1px solid #ccc;border-radius:6px;max-width:140px;}
		.care-prep-actions{margin-top:6px;display:flex;flex-direction:column;gap:8px;}
		.care-prep-actions .care-btn{width:100%;padding:12px;border:none;border-radius:8px;background:#3d6a5c;color:#fff;font-size:15px;font-weight:600;cursor:pointer;}
		.care-prep-sub-btn{width:100%;padding:11px;border:1px solid #3d6a5c;border-radius:8px;background:#fff;color:#3d6a5c;font-size:14.5px;font-weight:600;cursor:pointer;}
		.care-prep-sub-btn:hover{background:#eef5f2;}
		.care-prep-hide-forms{margin-top:12px;display:flex;flex-direction:column;gap:6px;}
		.care-prep-hide-forms form{margin:0;}
		.care-prep-hide-btn{width:100%;background:none;border:none;color:#888;font-size:12px;text-decoration:underline;cursor:pointer;padding:2px;}
		.care-prep-hide-btn:hover{color:#c0392b;}
	

/* ===== pwa.php ===== */
		/* アプリとして開いているときは、WordPressの管理バーを出さない。
		   ふつうのブラウザで開いたときは、これまでどおり出る。 */
		@media all and (display-mode: standalone) {
			#wpadminbar{display:none !important;}
			html{margin-top:0 !important;}
			* html body{margin-top:0 !important;}
		}
	

/* ===== records-list-page.php ===== */
		.care-vlist-panel,.care-vlist-panel *{box-sizing:border-box;margin:0 !important;line-height:1.35 !important;}
		.care-vlist-panel{max-width:100%;}

		.care-vlist-toolbar{display:flex;justify-content:flex-end;align-items:center;flex-wrap:wrap;gap:8px 16px;}
		.care-vlist-period-switch{display:flex;gap:0;border:1px solid #e2e2e2;border-radius:6px;overflow:hidden;}
		.care-vlist-period-switch .care-tab{padding:6px 14px;top:0;font-size:13px;border-bottom:none;background:#fafaf8;color:#777;text-decoration:none;}
		/* 3.8.0: 選んでいるほうは、緑の地に**白抜き**。
		   下のほうにある .care-tab.is-active（タブ見出し用。赤字・赤枠）が
		   !important 付きなので、こちらも !important にしないと**赤字のまま**になる。 */
		.care-vlist-period-switch .care-tab.is-active{
			background:#3d6a5c !important;color:#fff !important;
			border-color:#3d6a5c !important;font-weight:600;
		}

		.care-vlist-title{font-size:17px;margin:2px 0 0 !important;}
		/* 2.1.2: 見出し → 期間の切り替え → (右へ)行き先と絞り込み、を1行に並べる */
		.care-vlist-titlerow .care-vlist-period-switch{margin-left:4px;}
		.care-vlist-titlerow .care-vlist-jump{margin-left:auto;}
		.care-vlist-jump-filter{cursor:pointer;font-family:inherit;}
		.care-vlist-jump-filter.is-on{background:#3d6a5c;border-color:#3d6a5c;color:#fff;}
		/* 見出しの横の「バイタル一覧へ」などのボタン */
		.care-vlist-titlerow{display:flex;flex-wrap:wrap;align-items:center;justify-content:flex-start;gap:6px 12px;}
		.care-vlist-jump{display:flex;flex-wrap:wrap;gap:6px;}
		.care-vlist-jump-btn{
			display:inline-block;padding:6px 11px;border:1px solid #cddbd5;border-radius:14px;
			background:#f4f9f6;color:#3d6a5c;font-size:12.5px;font-weight:600;text-decoration:none;white-space:nowrap;
			-webkit-tap-highlight-color:transparent;
		}
		.care-vlist-jump-btn:hover{background:#e4f0ea;color:#2f5a4c;}
		.care-vlist-jump-vital{background:#f7eef3;border-color:#dcc3d0;color:#7a3b5c;}
		.care-vlist-jump-excretion{background:#f4f1e6;border-color:#d9d0b0;color:#6b5a1e;}
		.care-vlist-jump-meal{background:#eef4ea;border-color:#c5d8bb;color:#3f6a2f;}
		.care-vlist-jump-print{background:#fff;border-color:#c9c9c9;color:#555;}

		.care-vlist-nav{display:flex;align-items:center;justify-content:center;gap:10px;flex-wrap:wrap;}
		.care-vlist-nav .care-btn{padding:6px 14px;font-size:13px;}
		.care-vlist-range{font-size:14px;white-space:nowrap;}

		.care-vlist-table-wrap{overflow-x:auto;border:1px solid #e2e2e2;border-radius:8px;max-height:70vh;overflow-y:auto;}
		/* 表の上に付ける横スクロールバー(.care-xtop)は records.js が作って、画面の上に貼りつける(1.89.1で共通化)。 */
		/* ↓ 1.89.1で、上のバーのCSSといっしょに消してしまっていた分を戻した(1.99.1) */
		.care-vlist-table{width:100%;border-collapse:collapse;font-size:12.5px;white-space:nowrap;}
		.care-vlist-table th,.care-vlist-table td{padding:8px 10px;border-bottom:1px solid #eee;border-right:1px solid #c9c9c9;text-align:center;}
		.care-vlist-table thead th{background:#f2f2f2;position:sticky;top:0;z-index:1;}
		/* 見出しが2段ある表(食事一覧など)は、2段目を1段目の下に貼り付ける。
		   両方 top:0 のままだと、2段目が1段目に重なって隠してしまうため。 */
		.care-vlist-table thead tr:first-child > th{height:33px;box-sizing:border-box;}
		.care-vlist-table thead tr + tr > th{top:34px;}
		.care-vlist-name-col{position:sticky;left:0;background:#fff;text-align:left !important;z-index:2;box-shadow:1px 0 0 #e6e6e6;}
		.care-vlist-table thead .care-vlist-name-col{background:#f2f2f2;z-index:3;}
		.care-vlist-name-col a{color:#333;text-decoration:none;font-weight:600;}
		/* 排泄一覧の名前の下: 前日のまとめと、排便から何日 */
		.care-vlist-namesub{display:flex;flex-direction:column;align-items:flex-start;gap:3px;margin-top:4px;white-space:normal;}
		.care-vlist-prevsum{font-size:11px;color:#666;font-weight:400;line-height:1.45;}
		.care-vlist-room{color:#888;font-size:11px;}
		/* 排泄一覧(1日表示):利用者を縦・時間帯を横にし、利用者ごとに「尿」「便」の
		   2行に分けて表示する。名前の列の右にもう1列(尿/便ラベル)を追加で
		   固定表示するため、名前の列の幅を揃えてラベル列のsticky位置を合わせる。 */
		/* 1.76.0: 名前の下に「昨日の回数」「便 −N日」を出すので、幅を 92px → 128px に */
		.care-vlist-name-day{width:128px;min-width:128px;max-width:128px;white-space:normal !important;vertical-align:middle;}
		.care-vlist-type-col{
			position:sticky;left:128px;background:#fff;z-index:2;
			width:34px;min-width:34px;text-align:center !important;color:#777;font-size:11.5px;
			box-shadow:1px 0 0 #e6e6e6;
		}
		.care-vlist-table thead .care-vlist-type-col{background:#f2f2f2;z-index:3;}

		.care-vlist-cell{min-width:64px;}
		.care-vlist-cell.is-empty{color:#ccc;}
		.care-vlist-cell-link{display:flex;flex-direction:column;gap:1px !important;color:#333;text-decoration:none;font-size:11px;}
		.care-vlist-cell-link:hover{color:#3d6a5c;}
		.care-vlist-cell-time{font-weight:600;color:#3d6a5c;}
		/* 排泄一覧・1日表示:「場所」の頭文字1文字を丸で囲んで時刻の横に表示する
		   (例:トイレ→ト、パット交換→パ)。マウスオーバー/タップ長押しで
		   場所の正式名称がツールチップで見られる。 */
		.care-loc-badge{
			display:inline-flex !important;align-items:center;justify-content:center;
			width:14px;height:14px;margin-right:2px !important;border:1px solid #3d6a5c;border-radius:50%;
			font-size:9px;font-weight:600;line-height:1;color:#3d6a5c;vertical-align:middle;box-sizing:border-box;
		}
		.care-vlist-badge{
			display:inline-block;margin-left:3px !important;padding:0 4px;border-radius:8px;
			background:#3d6a5c;color:#fff;font-size:10px;line-height:1.5;vertical-align:middle;
		}

		.care-vlist-hint{font-size:12px;color:#888;}

		/* 「利用者で絞り込み」:<details>で折りたたみ、開くとチェックボックス一覧が出る。 */
		/* 2.1.2: 絞り込みはポップアップ(画面の真ん中) */
		.care-resident-filter-modal{position:fixed;inset:0;z-index:99990;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px;}
		.care-resident-filter-modal[hidden]{display:none;}
		.care-resident-filter-box{background:#fff;border-radius:12px;padding:18px;width:100%;max-width:520px;box-shadow:0 10px 36px rgba(0,0,0,.3);}
		.care-resident-filter-title{margin:0 0 10px !important;font-size:16px;font-weight:700;}
		.care-resident-filter-tools{display:flex;gap:8px;margin-bottom:8px;}
		.care-resident-filter-tools .care-btn{padding:5px 10px;font-size:12.5px;}
		.care-resident-filter-form{display:flex;flex-direction:column;gap:10px;}
		.care-resident-filter-checks{display:flex;flex-wrap:wrap;gap:6px 14px;max-height:46vh;overflow-y:auto;border:1px solid #e4e4e4;border-radius:8px;padding:8px 10px;}
		.care-resident-filter-check{display:flex !important;flex-direction:row !important;align-items:center !important;gap:5px !important;font-size:13px;color:#444;white-space:nowrap;}
		.care-resident-filter-check input{width:auto !important;}
		.care-resident-filter-actions{display:flex;flex-wrap:wrap;gap:8px;}
		.care-resident-filter-actions .care-btn{padding:6px 14px;font-size:12.5px;}

		/* 週間・月間表示:土曜列は薄い青、日曜列は薄い赤で塗りつぶす。
		   罫線が見えなくならないよう、色はごく薄くし、その列だけ罫線の色も
		   少し濃いめにしてマス目が分かるようにしている。 */
		.care-vlist-table th.care-col-sat,
		.care-vlist-table td.care-col-sat{background:#f2f8fd !important;border-right-color:#b7cee3 !important;border-bottom-color:#d9e6f2 !important;}
		.care-vlist-table th.care-col-sun,
		.care-vlist-table td.care-col-sun{background:#fdf3f3 !important;border-right-color:#e6b9b9 !important;border-bottom-color:#f2dbdb !important;}
		/* 排泄一覧・1日表示:3時間おき(3,6,9…21時)の列を薄い青で目立たせる。 */
		.care-vlist-table th.care-col-hour-mark,
		.care-vlist-table td.care-col-hour-mark{background:#f2f8fd !important;border-right-color:#b7cee3 !important;border-bottom-color:#d9e6f2 !important;}

		/* 食事・水分・服薬一覧:1週間・1か月は「日付」の下にさらに「タイミング」の
		   列が並ぶため、1日表示のタイミング列より一段狭くして詰めて表示する。 */
		.care-meal-list-table td.care-meal-subcol,
		.care-meal-list-table th.care-meal-subcol{min-width:46px;width:46px;font-size:10.5px;padding:5px 3px;}
		.care-meal-list-table .care-meal-date-group{font-size:11.5px;white-space:nowrap;}
		.care-meal-list-table .care-meal-subcol .care-vlist-cell-link{font-size:10px;gap:0 !important;color:#333;}
		.care-meal-list-table .care-meal-subcol .care-vlist-cell-link span{white-space:nowrap;}

		/* 食事一覧・1日表示:服薬列・合計列・水分/栄養2行セル。 */
		.care-meal-list-table .care-meal-med-col{min-width:82px;width:82px;font-size:11px;white-space:normal !important;}
		.care-meal-list-table .care-meal-total-col{min-width:56px;width:56px;font-size:10.5px;background:#fafaf6;}
		.care-meal-total-line{display:block;font-weight:600;color:#3d6a5c;}
		/* 服薬バッジ:タイミング名(朝・眠前など)だけを丸で囲み、実際に記録した
		   「食前/食後/頓服/吸入」等はその右側にそのまま文字で表示する
		   (例:◯朝 食前)。 */
		.care-med-badge{
			display:flex !important;flex-direction:row !important;align-items:center;justify-content:center;
			gap:3px !important;padding:1px 3px;margin:1px auto !important;
			font-size:10px;font-weight:600;line-height:1.2 !important;color:#c0392b;box-sizing:border-box;white-space:nowrap;
		}
		.care-med-badge-circle{
			display:inline-flex !important;align-items:center;justify-content:center;flex:none;
			width:16px;height:16px;border:1px solid #c0392b;border-radius:50%;
			font-size:10px;line-height:1;box-sizing:border-box;
		}
		.care-med-badge-text{white-space:nowrap;}
		.care-med-badge-time{white-space:nowrap;color:#c0392b;}
		.care-meal-wn{display:flex !important;flex-direction:column;gap:0 !important;font-size:10px;}
		.care-meal-subcol th{white-space:nowrap;}

		/* 申し送り一覧(全員分・その日の分だけ):他の一覧と違いグリッド表では
		   なく、時刻順のシンプルな一覧のため、折り返し・左寄せに変更する。 */
		.care-handover-list-table{white-space:normal !important;}
		.care-handover-list-table th,.care-handover-list-table td{text-align:left !important;}
		.care-handover-list-table .care-handover-list-time{white-space:nowrap;font-weight:600;color:#3d6a5c;}
		/* 利用者列:名前が長くても幅を取りすぎないよう、7文字程度の幅に固定して折り返す。 */
		.care-handover-list-table .care-handover-list-name-col{width:7em;max-width:7em;min-width:7em;white-space:normal !important;word-break:break-all;}
		.care-handover-list-table .care-handover-list-resident a{color:#333;text-decoration:none;font-weight:600;}
		.care-handover-list-table .care-handover-list-resident a:hover{color:#3d6a5c;}
		.care-important-col-tag{display:inline-block;padding:1px 7px;border:1.5px solid #c0392b;border-radius:4px;background:#c0392b;color:#fff;font-size:11px;font-weight:700;}
		/* 複数行の見出し(例:「水分/栄養」)や、申し送り一覧の1件ずつの区切りに使う
		   (裸の<br>は使わず、無害化CSS(.care-portal br非表示)の影響を受けないブロック要素にする)。 */
		.care-th-line{display:block;}
		.care-handover-line{display:block;margin-bottom:4px;}
		.care-handover-line:last-child{margin-bottom:0;}
	

/* ===== records-list-page.php ===== */
		.care-qe-modal,.care-qe-modal *{box-sizing:border-box;}
		.care-qe-modal{position:fixed;inset:0;z-index:99991;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px;}
		.care-qe-modal[hidden]{display:none;}
		.care-qe-box{background:#fff;border-radius:12px;padding:16px 18px;width:100%;max-width:560px;max-height:88vh;overflow-y:auto;box-shadow:0 10px 36px rgba(0,0,0,.3);}
		.care-qe-title{display:flex;align-items:center;gap:8px;margin:0 0 10px !important;font-size:16px;font-weight:700;}
		.care-qe-who{font-size:14px;font-weight:600;color:#3d6a5c;}
		.care-qe-x{margin-left:auto !important;border:0;background:transparent;font-size:20px;line-height:1;color:#888;cursor:pointer;padding:0 4px;}
		.care-qe-form{display:flex;flex-direction:column;gap:10px;}
		.care-qe-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px 10px;}
		.care-qe-grid .care-field,.care-qe-note{display:flex;flex-direction:column;gap:3px;}
		/* display:flex が [hidden] に勝ってしまうので、隠す指定を上書きしておく
		   (食事の「時間(その他)」欄は、タイミングが「その他」のときだけ出す) */
		.care-qe-grid .care-field[hidden],.care-qe-modal [hidden]{display:none !important;}
		.care-qe-grid label,.care-qe-note label{font-size:12px;color:#666;}
		.care-qe-grid input,.care-qe-grid select,.care-qe-note input{width:100%;padding:7px 8px;font-size:15px;border:1px solid #ccc;border-radius:6px;background:#fff;}
		.care-qe-grid .care-amount-stepper{display:flex;gap:4px;align-items:center;}
		.care-qe-grid .care-amount-stepper select{flex:1 1 auto;}
		.care-qe-grid .care-step-btn{flex:0 0 auto;padding:6px 8px;font-size:12px;border:1px solid #ccc;border-radius:6px;background:#f6f6f4;cursor:pointer;}
		.care-qe-actions{display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
		.care-qe-actions .care-btn{padding:8px 18px;font-size:14px;}
		.care-qe-tolink{margin-left:auto !important;font-size:12px;color:#3d6a5c;}
		/* マスを押すと入力できることが分かるように、指の形にして軽く色を付ける */
		.care-qe-add{
			display:inline-block;margin-left:4px !important;padding:1px 7px;border:1px solid #cddbd5;border-radius:10px;
			background:#f4f9f6;color:#3d6a5c;font-size:11px;font-weight:600;font-family:inherit;line-height:1.5;cursor:pointer;
			-webkit-tap-highlight-color:transparent;
		}
		.care-qe-add:hover{background:#e4f0ea;}
		[data-care-qe]{cursor:pointer;}
		[data-care-qe]:hover{background:#f2f8f5;}

		/* 3.7.2: スマホで一覧(バイタル・排泄・食事・申し送り)を見たときの名前の列。
		   名前・部屋番号・「＋記録」が1行に並ぶと、名前の列だけで画面の半分を使ってしまい、
		   右の数字がほとんど見えなかった。
		   スマホでは **部屋番号を出さず**、「＋記録」を **名前の下** へ回して列を細くする。
		   (パソコンでは今までどおり。部屋番号も出る) */
		@media (max-width:700px){
			.care-vlist-name-col .care-vlist-room{display:none !important;}
			.care-vlist-name-col .care-qe-add{
				display:block;margin-left:0 !important;margin-top:3px;width:fit-content;
			}
			.care-vlist-name-col{
				white-space:normal;
				width:100px;min-width:100px;max-width:100px;
				padding-left:6px !important;padding-right:6px !important;
			}
			/* 排泄一覧(1日表示)は、名前の右に「尿/便」の列を貼り付けている。
			   名前の列を細くしたぶん、貼り付ける位置もそろえる。 */
			.care-vlist-name-day{width:100px;min-width:100px;max-width:100px;}
			.care-vlist-type-col{left:100px;}
		}
		@media (max-width:700px){
			.care-qe-grid{grid-template-columns:repeat(2,1fr);}
			.care-qe-box{padding:14px;}
		}
	

/* ===== resident-archive.php ===== */
	.care-archive{max-width:1000px;margin:0 auto;}
	.care-archive h2{font-size:18px;margin:0 0 10px;}
	.care-archive-lead{background:#f4f7fb;border:1px solid #d6e0ec;border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.9;margin:0 0 10px;}
	.care-archive-warn{background:#fff4f4;border:1px solid #e6b5b5;border-radius:6px;padding:10px 12px;font-size:12.5px;line-height:1.9;margin:0 0 12px;color:#7a2020;}
	.care-archive-settings{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;background:#fff;border:1px solid #d8dde3;border-radius:6px;padding:8px 12px;margin:0 0 12px;}
	.care-archive-list{width:100%;border-collapse:collapse;font-size:14px;background:#fff;}
	.care-archive-list th,.care-archive-list td{border:1px solid #d8dde3;padding:6px 8px;vertical-align:middle;}
	.care-archive-list thead th{background:#eef2f7;font-weight:600;white-space:nowrap;}
	.care-archive-list .num{text-align:center;width:80px;}
	.care-archive-list tr.is-due{background:#fffaf0;}
	.care-archive-list tr.is-archived{background:#f7f7f7;color:#777;}
	.care-archive-list tr.is-vault{background:#f3f7f4;}
	.care-archive-badge.is-vault{background:#dff0e4;color:#1d6b34;font-weight:600;}
	.care-archive-lock{background:#1d6b34;border-color:#1d6b34;}
	.care-archive-pwbox{background:#fff;border:1px solid #d8dde3;border-radius:6px;padding:10px 14px;margin:0 0 12px;}
	.care-archive-pwbox.is-empty{background:#fffaf0;border-color:#e0bf7a;}
	.care-archive-pwbox h3{margin:0 0 6px;font-size:15px;color:#8a5a00;}
	.care-archive-pwstate{display:flex;gap:12px;align-items:center;flex-wrap:wrap;font-size:13px;}
	.care-archive-pwstate small{color:#888;}
	.care-archive-editlink{font-size:12px;color:#36c;text-decoration:underline;}
	.care-archive-pwform{display:flex;gap:12px;align-items:flex-end;flex-wrap:wrap;margin-top:8px;}
	.care-archive-pwform label{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#444;}
	.care-archive-pwform input{padding:5px 8px;border:1px solid #c8ced6;border-radius:4px;font-size:13px;width:180px;}
	.care-archive-room{width:64px;text-align:center;color:#555;}
	.care-archive-name{font-weight:600;}
	.care-archive-unknown{color:#999;font-size:12px;}
	.care-archive-badge{display:inline-block;text-align:center;font-size:12px;line-height:1.35;padding:3px 8px;border-radius:4px;background:#f0f0f0;color:#777;}
	.care-archive-badge.is-due{background:#fdf0d5;color:#8a5a00;font-weight:600;}
	.care-archive-badge.is-mid{background:#e3eefb;color:#22558f;}
	.care-archive-badge.is-done{background:#e9e9e9;color:#666;}
	.care-archive-act{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
	.care-archive-small{font-size:12px;padding:4px 10px;}
	.care-archive-danger{background:#b3261e;border-color:#b3261e;color:#fff;}
	.care-archive-note{font-size:11px;color:#888;}
	.care-archive-empty{text-align:center;color:#777;padding:18px;}
	.care-archive-formrow td{background:#fffafa;}
	.care-archive-purgeform h3{margin:4px 0 6px;font-size:15px;color:#7a2020;}
	.care-archive-counts,.care-archive-recheck{font-size:12.5px;line-height:1.8;margin:0 0 6px;}
	.care-archive-restore{margin-top:18px;background:#fff;border:1px solid #d8dde3;border-radius:6px;padding:12px;}
	.care-archive-restore h3{margin:0 0 6px;font-size:15px;}
	.care-archive-restoreform{display:flex;gap:8px;align-items:center;flex-wrap:wrap;}
	.care-archive-expform{display:inline-flex;gap:4px;align-items:center;margin:0;}
	.care-archive-expform input[type=password]{width:130px;padding:4px 6px;border:1px solid #c8ced6;border-radius:4px;font-size:12px;}
	.care-archive-pwset{display:inline-flex;gap:4px;align-items:center;white-space:nowrap;font-size:12.5px;}
	.care-archive-pwreset{color:#8a5a00;}
	.care-archive-nopw{font-size:12px;color:#999;}
	.care-archive-pwnote{background:#f4f7fb;border:1px solid #d6e0ec;border-radius:6px;padding:10px 12px;font-size:12.5px;line-height:1.9;margin:0 0 12px;}
	.care-archive-restore p{font-size:12.5px;color:#555;margin:0 0 8px;}
	@media (max-width:760px){
		.care-archive-act{white-space:normal;}
	}
	

/* ===== resident-contacts.php ===== */
		/* 連絡先タブ:1つのグリッドにまとめることで、どの行でも
		   電話番号の開始位置が縦にそろうようにする。
		   1行目に種別(四角で囲んだラベル)、その下に名前(ケアマネは事業所+名前)、
		   右に電話番号。 */
		.care-contacts-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;column-gap:14px;row-gap:2px;align-items:baseline;}
		.care-contact-badge-row{grid-column:1 / -1;margin-top:10px;}
		.care-contacts-grid > .care-contact-badge-row:first-child{margin-top:0;}
		.care-contact-main{padding:2px 0 8px;border-bottom:1px solid #eee;min-width:0;}
		.care-contact-tel{padding:2px 0 8px;border-bottom:1px solid #eee;white-space:nowrap;}
		.care-contact-name{font-weight:600;font-size:15px;color:#222;margin-right:6px;}
		.care-contact-office{display:inline-block;font-size:13.5px;color:#555;margin-right:8px;}
		.care-contact-tel a{font-size:15px;text-decoration:underline;}
		@media (max-width:480px){
			.care-contacts-grid{column-gap:10px;}
			.care-contact-name{font-size:16px;}
			.care-contact-office{font-size:14px;}
			.care-contact-tel a{font-size:15.5px;}
		}
	

/* ===== resident-photos.php ===== */
		/* 「写真を撮る」はスマホ(タッチの端末)だけに出す。パソコンでは意味がないので隠す */
		.care-album-camera{display:none;}
		.care-album-camera-done{display:none;}
		@media (hover:none) and (pointer:coarse){
			.care-album-camera{
				display:inline-flex;align-items:center;justify-content:center;gap:6px;
				flex:1 1 100%;padding:12px 10px;border-radius:9px;position:relative;
				background:linear-gradient(180deg,#4d8071 0%,#3d6a5c 100%);color:#fff;
				font-size:15px;font-weight:700;cursor:pointer;
				box-shadow:0 2px 0 rgba(0,0,0,.18);
			}
			.care-album-camera input{position:absolute;width:1px;height:1px;opacity:0;pointer-events:none;}
			.care-album-camera-done{display:block;flex:1 1 100%;font-size:12.5px;color:#2f5a4b;}
			.care-album-camera-done:empty{display:none;}
		}
	

/* ===== resident-photos.php ===== */
		.care-face-thumb{border-radius:50%;object-fit:cover;vertical-align:middle;background:#eef1ee;}
		.care-face-thumb-empty{display:inline-block;text-align:center;color:#7a8a80;font-weight:700;}
		.care-album-face{display:flex;align-items:center;gap:10px;padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #eee;}
		.care-album-form{display:flex;flex-wrap:wrap;align-items:center;gap:6px;font-size:12.5px;}
		.care-album-form-add{padding-bottom:10px;margin-bottom:10px;border-bottom:1px solid #eee;}
		.care-album-file{flex:1 1 180px;min-width:0;}
		.care-album-file span{display:block;color:#666;margin-bottom:2px;}
		.care-album-file input[type="file"]{max-width:100%;font-size:12px;}
		/* スマホではドラッグできないので、その案内も隠す(「写真を撮る」の見た目は care_render_photo_camera_button) */
		@media (hover:none) and (pointer:coarse){
			.care-album-form .care-drop{display:none;}
		}
		.care-album-caption{flex:1 1 140px;min-width:0;padding:6px;border:1px solid #ccc;border-radius:6px;font-size:13px;}
		.care-album-submit{padding:6px 14px;border:1px solid #3d6a5c;border-radius:6px;background:#fff;color:#3d6a5c;cursor:pointer;font-size:12.5px;}
		.care-album-submit:hover{background:#3d6a5c;color:#fff;}
		.care-album-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:8px;}
		.care-album-item{margin:0;font-size:11px;color:#666;}
		.care-album-item img{width:100%;height:88px;object-fit:cover;border-radius:6px;display:block;}
		.care-album-cap{display:block;color:#333;}
		.care-album-delete{color:#c0392b;font-size:11px;}
			.care-album-count{margin:0 0 8px !important;font-size:13px;color:#666;}
		.care-album-count.is-full{color:#c0392b;font-weight:700;}
		.care-album-full-text{display:block;font-weight:400;font-size:12.5px;margin-top:2px;}
		.care-album-limit-form{margin:0 0 10px;}

/* ===== resident-records-page.php ===== */
		.care-vcopy-wrap{position:relative;display:inline-block;}
		.care-vcopy-btn{font-size:13px;padding:8px 12px;}
		.care-vcopy-pop{
			position:absolute;z-index:100000;left:0;top:calc(100% + 6px);
			width:min(460px,92vw);max-height:min(60vh,420px);overflow:auto;
			background:#fff;border:2px solid #3d6a5c;border-radius:10px;
			box-shadow:0 8px 28px rgba(0,0,0,.28);padding:10px 12px;
		}
		.care-vcopy-pop[hidden]{display:none;}
		.care-vcopy-head{
			position:relative;padding-right:26px;margin-bottom:8px;
			font-size:12px;color:#666;line-height:1.6;
		}
		.care-vcopy-head strong{display:block;font-size:14px;color:#3d6a5c;}
		.care-vcopy-close{
			position:absolute;top:-2px;right:-4px;background:none;border:0;
			font-size:22px;line-height:1;color:#888;cursor:pointer;padding:0 4px;
		}
		.care-vcopy-row{
			display:flex;flex-wrap:wrap;gap:6px;align-items:center;
			padding:7px 0;border-top:1px solid #eee;
		}
		.care-vcopy-row:first-child{border-top:0;}
		.care-vcopy-when{flex:0 0 76px;font-size:12px;font-weight:700;color:#555;}
		.care-vcopy-chips{display:flex;flex-wrap:wrap;gap:5px;flex:1 1 auto;}
		.care-vcopy-chip{
			padding:6px 10px;border:1px solid #cfd8d4;border-radius:16px;background:#f6f8f7;
			font-size:13px;color:#333;cursor:pointer;font-family:inherit;line-height:1.3;
		}
		.care-vcopy-chip:hover{background:#e8f2ed;border-color:#8fb3a5;}
		.care-vcopy-chip:active{background:#3d6a5c;border-color:#3d6a5c;color:#fff;}
		.care-vcopy-all{background:#eef3f7;border-color:#c3d3e0;font-weight:700;}
		@media (max-width:700px){
			.care-vcopy-pop{position:fixed;left:8px;right:8px;top:auto;bottom:8px;width:auto;max-height:62vh;}
			.care-vcopy-chip{padding:9px 12px;font-size:14px;}
		}
	

/* ===== resident-records-page.php ===== */
		/* テーマ側が div・label・input 等すべてに独自の余白(margin)や
		   行間(line-height)を足してくることがあるため、このパネルの中は
		   margin・line-heightを一律リセットし、間隔は padding と flex の
		   gap だけで作る。
		   (検証の結果、marginは既に0になっていたが、親(.care-portal)から
		   line-height:1.7 が引き継がれ、ラベル等の行の高さが本来の文字サイズ
		   より大きくなり、それが「余白が大きい」ように見える主因だったため、
		   ここで line-height も明示的に詰める。) */
		.care-records-page,.care-records-page *{box-sizing:border-box;margin:0 !important;line-height:1.35 !important;}
		/* WordPress側のwpautop()が、タグ間の改行を見て余分な <p></p> や <br> を
		   差し込んでしまうことがある(特にバイタル欄の増減ボタンまわりで、
		   枠の下に不要な空白ができる原因になっていた)。中身が空の<p>や<br>は
		   このパネル内では意図的に使っていないため、まとめて非表示にして
		   無害化する。 */
		.care-records-page p:empty{display:none !important;}
		.care-records-page br{display:none !important;}

		.care-records-page{max-width:760px;}

		/* 名前・ログアウト・歯車(選択肢の管理)は、記録カードの枠の外、
		   ページ最上部に右寄せで配置する。 */
		.care-records-header-row{display:flex;justify-content:flex-end;margin-bottom:8px !important;font-size:14px;}
		.care-records-user-block{display:flex !important;flex-direction:column;align-items:flex-end;gap:2px;}
		.care-records-user{font-size:12.5px;color:#666;white-space:nowrap;}
		/* 選択肢の管理(タイミング・薬):文字なしの歯車アイコンだけのリンク。
		   ログイン中/ログアウトの行のすぐ下、右寄せに配置する。 */
		.care-records-options-link a{font-size:16px;text-decoration:none;color:#666;}
		.care-records-options-link a:hover{color:#3d6a5c;}

		.care-records-welcome{
			display:flex;justify-content:space-between;align-items:center;flex-wrap:wrap;gap:8px 16px;
			padding:14px 18px;border:1px solid #e2e2e2;border-bottom:none;border-radius:10px 10px 0 0;background:#fafaf8;
			font-size:14px;
		}
		.care-records-welcome-title{display:flex !important;flex-wrap:wrap;align-items:baseline;gap:8px 16px;}
		.care-records-welcome strong{font-size:15.5px;}
		.care-records-back{color:#3d6a5c;text-decoration:none;font-size:13px;padding-right:12px;}
		/* 「← 利用者一覧」の右、名前・ログアウトが移動して空いたスペースに、
		   直近の申し送り事項をひとこと表示する(押すと申し送りタブへ)。 */
		.care-records-pinned-notes{display:flex !important;flex-direction:column;align-items:flex-end;gap:4px !important;max-width:100%;}
		.care-records-handover-preview{
			display:flex !important;align-items:center;gap:6px !important;flex-wrap:nowrap;
			padding:5px 10px;border:1px solid #eecfc0;border-radius:16px;background:#fff8ee;
			color:#8a5a1e;text-decoration:none;font-size:12px;max-width:100%;
		}
		.care-records-handover-preview:hover{background:#fdeed4;}
		.care-records-handover-preview.is-important{border-color:#f0b8b0;background:#fdecea;color:#a4291c;}
		.care-records-handover-preview.is-important:hover{background:#fbdbd6;}
		.care-records-handover-preview.is-alert{border-color:#f5c26b;background:#fff1de;color:#94590a;}
		.care-records-handover-preview.is-alert:hover{background:#ffe6bf;}
		.care-records-handover-preview-label{font-weight:600;white-space:nowrap;}
		.care-records-handover-preview-date{color:#a97c3d;white-space:nowrap;}
		.care-records-handover-preview.is-important .care-records-handover-preview-date{color:#b8564a;}
		.care-records-handover-preview.is-alert .care-records-handover-preview-date{color:#b3791f;}
		/* 常時表示の吹き出しは右寄せなので、本文が長いほど左へ伸びる。
		   220pxだとすぐ「…」で切れてしまうため、置ける幅いっぱい(最大460px)まで
		   伸ばしてから省略するようにする。 */
		.care-records-handover-preview-text{color:#666;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:560px;min-width:0;}
		@media (max-width:700px){
			.care-records-handover-preview-text{max-width:100%;}
		}
		/* 常時表示の申し送り(上のピンク色の吹き出し)は、PC/タブレットでは
		   右寄せ(align-items:flex-end)のままにし、スマホでは折り返して
		   横幅いっぱいに近くなるため、左寄せに変える。 */
		@media (max-width:480px){
			.care-records-pinned-notes{align-items:flex-start !important;}
		}

		.care-tabs{display:flex;gap:4px;border:1px solid #e2e2e2;border-top:none;border-bottom:2px solid #e2e2e2;background:#fafaf8;padding:6px 12px 0;overflow-x:auto;scroll-behavior:smooth;-webkit-overflow-scrolling:touch;scrollbar-width:none;}
		.care-tabs::-webkit-scrollbar{display:none;}
		.care-tab{padding:10px 14px;font-size:13.5px;color:#777;text-decoration:none;border:1px solid transparent;border-radius:6px 6px 0 0;position:relative;top:2px;white-space:nowrap;}
		.care-tab.is-active{color:#c0392b !important;border-color:#c0392b !important;border-bottom-color:#fff !important;background:#fff;font-weight:600;}
		.care-tab:hover{color:#3d6a5c;}

		.care-record-card{
			display:flex;flex-direction:column;justify-content:flex-start !important;align-content:flex-start !important;
			height:auto !important;gap:12px;
			border:1px solid #e2e2e2;border-top:none;border-radius:0 0 10px 10px;padding:18px 20px;background:#fff;
		}
		.care-record-card h3{font-size:15px;color:#333;}
		.care-record-card form{
			display:flex;flex-direction:column;justify-content:flex-start !important;align-content:flex-start !important;
			height:auto !important;gap:8px;max-width:360px;
		}
		/* バイタルのフォームだけは、横幅いっぱいを使って体温/脈拍/血圧上/SpO2/血圧下を
		   2行4列で並べ、縦方向をコンパクトにする。 */
		.care-record-card form.care-vital-form{max-width:none !important;width:100% !important;}
		/* 食事・水分・服薬フォームも、タイミング/主菜/副菜/栄養/水分/薬を
		   横に並べる幅が要るため、他のフォームと違い360px制限をかけない。 */
		.care-record-card form.care-meal-form{max-width:none !important;width:100% !important;}
		/* 連絡記録フォームも、「誰が・名前・誰に・名前」を横一列に並べる幅が要るため
		   360px制限をかけない。 */
		.care-record-card form.care-communication-form{max-width:none !important;width:100% !important;}
		/* 排泄記録も、時間帯+場所や尿・便を横に並べる幅が要るため制限を外す。 */
		.care-record-card form.care-excretion-form{max-width:none !important;width:100% !important;}
		/* 時間帯は増減ボタンぶん広めに、場所はその3分の2くらいの幅にする。
		   (.care-record-card .care-field-row .care-field の指定より詳しくしないと
		   等幅の指定に負けるため、セレクタを長めにしてある) */
		.care-record-card .care-field-row.care-excretion-slot-row > .care-field.care-hourslot-field{flex:1.5 1 260px !important;}
		.care-record-card .care-field-row.care-excretion-slot-row > .care-field.care-excretion-location-field{flex:1 1 170px !important;}
		/* 尿・尿量・便・便量は横一列(狭い画面では折り返す)。 */
		.care-record-card .care-field-row.care-excretion-detail-row > .care-field{flex:1 1 130px !important;}
		/* スマホ幅では、時間帯・場所は1行ずつ、尿/尿量・便/便量は2つずつ並べる
		   (4つ横並びのままだと1つあたりが狭くなりすぎるため)。 */
		@media (max-width:480px){
			.care-record-card .care-field-row.care-excretion-slot-row > .care-field.care-hourslot-field,
			.care-record-card .care-field-row.care-excretion-slot-row > .care-field.care-excretion-location-field{flex:1 1 100% !important;}
			.care-record-card .care-field-row.care-excretion-detail-row > .care-field{flex:1 1 44% !important;}
		}
		/* 申し送りフォームも、チェックボックスを横並びにし自由記入欄を
		   横幅いっぱいまで広げたいため、360px制限をかけない。 */
		.care-record-card form.care-handover-form{max-width:none !important;width:100% !important;}
		/* 申し送りを外部(Chatwork)にも送るときの欄。外に出ることが分かる色にする。 */
		/* 申し送りの内容をダブルクリックしたときの送信確認 */
		.care-cw-dbl{cursor:pointer;}
		/* スマホは長押しで開くので、長押しメニューや文字選択が出ないようにする */
		@media (hover:none){
			.care-cw-dbl{-webkit-touch-callout:none;-webkit-user-select:none;user-select:none;}
		}
		.care-cwsend-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:10000;align-items:center;justify-content:center;padding:16px;}
		.care-cwsend-overlay.is-open{display:flex;}
		.care-cwsend-box{position:relative;background:#fff;border-radius:10px;max-width:460px;width:100%;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.3);}
		.care-cwsend-box h3{margin:0 0 6px;font-size:17px;}
		.care-cwsend-warn{margin:0 0 10px;color:#8a2c22;font-size:13px;font-weight:600;}
		.care-cwsend-text{max-height:34vh;overflow:auto;padding:10px;border:1px solid #ddd;border-radius:6px;background:#fafafa;font-size:14px;line-height:1.7;white-space:pre-wrap;}
		.care-cwsend-att{display:flex;gap:8px;align-items:center;margin:12px 0 0;font-size:14px;}
		.care-cwsend-room{display:block;margin:12px 0 0;font-size:14px;}
		.care-cwsend-room select{display:block;margin-top:4px;width:100%;padding:8px;border:1px solid #ccc;border-radius:6px;font-size:16px;}
		.care-cwsend-actions{display:flex;gap:8px;margin-top:14px;}
		.care-cwsend-actions .care-btn{flex:1 1 auto;}
		.care-cw-handover{
			display:flex !important;flex-wrap:wrap;align-items:center;gap:10px;
			background:#fdecea;border:1px solid #f0b8b0;border-radius:8px;padding:9px 12px;
		}
		.care-cw-handover .care-checkbox-item{font-size:13.5px;color:#8a2c22;font-weight:600;}
		.care-cw-handover select{max-width:220px;}
		/* バイタル欄:PC/タブレットでは、これまで通り4列(→画面が狭ければ
		   2列→1列)グリッドに、ラベル+入力欄+左右のボタン(縦2段)を
		   横一列に並べる見た目のまま(下記スマホ用@media (max-width:480px)
		   だけ、ラベル上・入力欄・ボタン行という縦積みカードに変える)。 */
		.care-record-card .care-vital-grid{
			display:grid !important;grid-template-columns:repeat(3, 1fr) !important;column-gap:12px;row-gap:10px;
			align-items:start;height:auto !important;width:100%;
		}
		/* 1行目:体温・血圧上・血圧下 / 2行目:脈拍・SpO2・注記(各行4列中3列を使用)。 */
		.care-vg-a1{grid-column:1;grid-row:1;}
		.care-vg-a2{grid-column:2;grid-row:1;}
		.care-vg-a3{grid-column:3;grid-row:1;}
		.care-vg-b1{grid-column:1;grid-row:2;}
		.care-vg-b2{grid-column:2;grid-row:2;}
		.care-vg-b3{grid-column:3;grid-row:2;}
		.care-prefill-note{font-size:11px !important;color:#888 !important;align-self:center !important;line-height:1.4 !important;margin:0 !important;}

		/* 3.0.3: 訪問記録の「やったこと」と「定型文」
		   やったこと … プルダウンで選ぶと札(チップ)が増える。×で外せる
		   定型文     … グループのボタン → その中の文のボタン。押すと本文に入る */
		.care-vrec-actions{margin-top:4px;}
		.care-vrec-add{
			display:block;width:100%;max-width:320px;padding:9px;border:1px solid #ccc;border-radius:6px;
			font-size:15px;box-sizing:border-box;background:#fff;font-family:inherit;
		}
		.care-vrec-chips{display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;}
		.care-vrec-chip{
			display:inline-flex;align-items:center;gap:4px;padding:5px 6px 5px 11px;
			border:1px solid #3d6a5c;border-radius:16px;background:#3d6a5c;
			font-size:13px;color:#fff;line-height:1.2;
		}
		.care-vrec-chipx{
			width:18px;height:18px;padding:0;border:0;border-radius:50%;
			background:rgba(255,255,255,.25);color:#fff;font-size:12px;line-height:1;
			cursor:pointer;font-family:inherit;
		}
		.care-vrec-chipx:hover{background:rgba(255,255,255,.45);}
		.care-vrec-phrasebox{margin-top:4px;}
		.care-vrec-groups{display:flex;flex-wrap:wrap;gap:6px;}
		.care-vrec-group{
			padding:7px 13px;border:1px solid #cddbd5;border-radius:16px;background:#f7fbf9;
			font-size:13px;font-weight:700;color:#3d6a5c;cursor:pointer;font-family:inherit;
			-webkit-tap-highlight-color:transparent;
		}
		.care-vrec-group:hover{background:#e9f2ee;}
		.care-vrec-group.is-on{background:#3d6a5c;border-color:#3d6a5c;color:#fff;}
		.care-vrec-plist{
			display:flex;flex-wrap:wrap;gap:6px;margin-top:6px;padding:8px;
			border:1px solid #e2ebe7;border-radius:8px;background:#fbfdfc;
		}
		/* display:flex は [hidden] に勝ってしまうので、隠す指定を上書きしておく
		   (これが無いと、開いていないグループの文まで全部出てしまう) */
		.care-vrec-plist[hidden]{display:none !important;}
		.care-vrec-phrase{
			display:inline-flex;align-items:center;gap:5px;padding:7px 12px;
			border:1px solid #cddbd5;border-radius:16px;background:#fff;
			font-size:13px;color:#3d6a5c;cursor:pointer;font-family:inherit;
			-webkit-tap-highlight-color:transparent;text-align:left;
		}
		.care-vrec-phrase:hover{background:#e9f2ee;}
		.care-vrec-pos{
			margin-left:4px;padding:0 5px;border-radius:8px;
			background:#e8d7f2;color:#5d3a72;font-size:10px;font-weight:700;
		}
		.care-vrec-nophrase{font-size:12px;color:#888;}
		.care-options-note{margin:2px 0 6px;font-size:12px;color:#666;line-height:1.6;}
		.care-options-note code{background:#f3f3f3;padding:1px 4px;border-radius:3px;font-size:11.5px;}
		.care-mini-visit_care_records .care-th-care_type{min-width:160px;}
		/* 1段目と2段目で項目の高さがそろうように、各項目の高さを中身基準でそろえる。 */
		.care-record-card .care-vital-grid{align-items:stretch !important;}
		/* バイタル欄は、ラベルを上・その下に「-大 -小 [入力欄] +小 +大」を
		   横一列に並べる。ラベルを横に置くと入力欄の幅が足りなくなるため。 */
		.care-record-card .care-vital-grid .care-field.care-field-stacked{
			flex-direction:column !important;align-items:stretch !important;gap:4px !important;
		}
		.care-record-card .care-vital-grid .care-field.care-field-stacked > label{
			flex:0 0 auto !important;width:auto !important;font-weight:600;font-size:12.5px;color:#333;
		}
		/* 画面が狭い場合は2列、さらに狭ければ1列に落とす(狭い画面では
		   決めた並び順よりも「読みやすく1列で流れる」ことを優先する)。 */
		@media (max-width: 700px) {
			.care-record-card .care-vital-grid{grid-template-columns:repeat(2, 1fr) !important;}
			.care-vg-a1,.care-vg-a2,.care-vg-a3,.care-vg-b1,.care-vg-b2,.care-vg-b3{grid-column:auto;grid-row:auto;}
		}
		/* 画面がかなり狭い端末では2列だとボタンが窮屈になるため、1列に戻す。 */
		@media (max-width: 420px) {
			.care-record-card .care-vital-grid{grid-template-columns:1fr !important;}
		}
		/* 入力欄+増減ボタンのHTML構造(スマホ版の縦積みデザインに合わせて
		   .care-step-row/.care-step-groupでボタンをまとめてある)はそのままに、
		   PC/タブレットでは.care-step-row を display:contents で透過させ、
		   入力欄を挟んで左(-大・-小を縦2段)・右(+小・+大を縦2段)に
		   振り分けることで、以前と同じ見た目に戻す。 */
		.care-record-card .care-stepper.care-stepper-stacked{
			display:flex !important;flex-direction:row !important;align-items:stretch !important;gap:3px !important;
		}
		.care-record-card .care-stepper.care-stepper-stacked input{
			width:auto !important;flex:1 1 auto !important;min-width:0;text-align:center !important;
			padding:5px 8px !important;font-size:13.5px !important;order:2 !important;
		}
		.care-step-row{display:contents !important;}
		/* 増減ボタンは入力欄の左右に横並び(-大 -小 [入力欄] +小 +大)。 */
		.care-step-group{display:flex !important;flex-direction:row !important;gap:3px !important;flex:0 0 auto !important;}
		.care-step-group:first-of-type{order:1 !important;}
		.care-step-group:last-of-type{order:3 !important;}
		/* ボタンは文字が読める大きさで固定幅、入力欄が残りの幅を使う。 */
		.care-record-card .care-vital-grid .care-step-btn{
			flex:0 0 auto !important;min-width:34px !important;padding:7px 2px !important;font-size:11px !important;
		}
		.care-record-card .care-vital-grid .care-stepper.care-stepper-stacked input{
			flex:1 1 auto !important;min-width:0 !important;
		}
		/* formの直接の子(各care-field / care-field-row)が縦方向に伸びないよう明示的に固定する。
		   (テーマ側の何らかのルールでflex-growが1になっていた場合、ここで確実に0へ戻す) */
		.care-record-card form > *{flex:0 0 auto !important;height:auto !important;}
		/* ラベルを入力欄の上ではなく、同じ行の左側に表示する。 */
		/* 入力欄はすべて「ラベルを上・その下に入力欄」の形にそろえる
		   (申し送り・バイタル・排泄・食事・連絡記録で見た目を統一する)。 */
		.care-record-card .care-field{
			display:flex;flex-direction:column !important;align-items:stretch !important;
			height:auto !important;gap:4px;font-size:12.5px;color:#444;min-width:0;
			/* 従業員ポータル共通のCSS(.care-field{flex:1 1 200px})が効いていると、
			   縦積みレイアウトのときに1項目あたり最低200pxの高さが確保されてしまい、
			   ボタンの下に大きな余白ができる。記録カードの中では中身の高さぶんだけに戻す。 */
			flex:0 0 auto !important;
		}
		.care-record-card .care-field > label{flex:0 0 auto;white-space:nowrap;font-weight:600;font-size:12.5px;color:#333;}
		/* ラベルが上に来た(縦並びの)ため、入力欄は縦に伸びないように固定し、
		   横幅だけいっぱいに使う。 */
		.care-record-card .care-field > input,
		.care-record-card .care-field > select,
		.care-record-card .care-field > .care-stepper,
		.care-record-card .care-field > .care-water-box{flex:0 0 auto !important;min-width:0;width:100%;}
		/* [hidden]属性で消している欄(便の量など)は、上のdisplay:flexより
		   確実に優先させて非表示にする。 */
		.care-record-card .care-field[hidden]{display:none !important;}
		.care-record-card .care-field-row{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;align-items:flex-end !important;height:auto !important;gap:8px 10px !important;}
		.care-record-card .care-field-row .care-field{flex:1 1 0 !important;min-width:0;}
		/* [hidden]属性で消している行(食事の項目切り替えなど)も、上のdisplay:flex
		   より確実に優先させて非表示にする。 */
		.care-record-card .care-field-row[hidden]{display:none !important;}
		/* 食事・水分・服薬タブ:主菜・副菜・栄養を1行目、水分・薬を2行目に、
		   3列のグリッドで配置する。水分は主菜+副菜の幅ぶん(2列分)に広げ、
		   薬は栄養の真下(3列目)に来るようにする。 */
		.care-record-card .care-meal-grid{
			display:grid !important;grid-template-columns:repeat(3, minmax(140px, 1fr)) !important;
			column-gap:10px;row-gap:8px;align-items:start;width:100%;
		}
		.care-mg-a1{grid-column:1;grid-row:1;}
		.care-mg-a2{grid-column:2;grid-row:1;}
		.care-mg-a3{grid-column:3;grid-row:1;}
		.care-mg-b12{grid-column:1 / span 2;grid-row:2;}
		.care-mg-b3{grid-column:3;grid-row:2;}
		@media (max-width:480px){
			.care-record-card .care-meal-grid{grid-template-columns:1fr !important;}
			.care-mg-a1,.care-mg-a2,.care-mg-a3,.care-mg-b12,.care-mg-b3{grid-column:1;grid-row:auto;}
		}
		/* タイミングのプルダウンは、選択肢の文字数(眠前水分など)に対して
		   狭かったため、明示的に幅を広げておく。 */
		.care-record-card .care-meal-timing-field select{min-width:9em !important;}
		/* 日付+時刻の並び:縮めて読めなくなるより、入りきらない分は
		   行を折り返す方を優先する(絞り込みの日付欄と同じ考え方)。 */
		.care-record-card .care-datetime-row{
			display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;
			gap:8px !important;align-items:flex-start !important;
			width:100% !important;
		}
		.care-record-card .care-datetime-row > .care-field{flex:0 0 auto !important;min-width:0 !important;max-width:none !important;width:auto !important;}
		/* ラベルが上に来た(項目が縦並びの)ため、flex-basisは「高さ」になってしまう。
		   幅はwidthで指定し、flexは伸び縮みしない指定にする。 */
		.care-record-card .care-datetime-row input[type=date]{flex:0 0 auto !important;width:150px !important;min-width:0 !important;}
		.care-record-card .care-datetime-row input[type=time]{flex:0 0 auto !important;width:120px !important;min-width:0 !important;}
		.care-record-card .care-datetime-row .care-stepper input{min-width:0;}
		@media (max-width:340px){
			.care-record-card .care-datetime-row{flex-direction:column !important;}
			.care-record-card .care-datetime-row > .care-field{width:100% !important;}
			.care-record-card .care-datetime-row input[type=date],
			.care-record-card .care-datetime-row input[type=time]{flex:1 1 auto !important;width:100% !important;}
		}
		.care-record-card input,.care-record-card select{height:auto !important;}
		.care-record-card .care-field-full{width:100% !important;align-items:flex-start !important;}
		.care-record-card textarea{width:100%;padding:6px 8px;border:1px solid #ccc;border-radius:4px;font-size:13.5px;font-family:inherit;resize:vertical;}

		/* 申し送り:種別チェックボックス(申し送り/経過記録/常時表示/重要事項/アラート)。
		   日付・時刻欄と同じ行(care-handover-datetime-row)に配置し、
		   横一列に並べる。幅が足りない端末では行ごと折り返し、それでも
		   足りない場合はチェックボックス部分だけ横スクロールさせる
		   (縦に積み重なって見えないようにするため)。 */
		.care-handover-datetime-row{row-gap:8px !important;}
		/* 種別(申し送り・経過記録・…)のチェックは、日付・時刻の下に1列で並べる。
		   横スクロールはさせず、入りきらない場合だけ折り返す。 */
		.care-handover-flags-row{width:100% !important;}
		.care-handover-flags-row .care-checkbox-group{
			flex-wrap:wrap !important;overflow:visible !important;width:100% !important;
			gap:6px 16px !important;padding-bottom:0 !important;
		}
		.care-checkbox-group{display:flex !important;flex-wrap:nowrap;align-items:center;gap:4px 14px !important;width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch;padding-bottom:2px;}
		.care-alert-weekday-field .care-checkbox-group{flex-wrap:wrap !important;}
		.care-checkbox-item{display:flex !important;flex-direction:row !important;align-items:center !important;gap:4px !important;font-size:13px;color:#444;white-space:nowrap;width:auto !important;flex:0 0 auto !important;}
		.care-checkbox-item input{width:auto !important;flex:none !important;}
		/* 申し送り:アラートのチェックを入れると現れる、設定ボタン+要約テキスト。 */
		.care-alert-inline{display:flex !important;flex-direction:row !important;align-items:center !important;gap:8px !important;width:auto !important;margin-top:-2px;}
		.care-alert-inline[hidden]{display:none !important;}
		.care-alert-config-btn{background:#fff3e0 !important;color:#a4600e !important;border:1px solid #f0c68a !important;border-radius:5px;padding:4px 10px;font-size:12.5px;cursor:pointer;white-space:nowrap;}
		.care-alert-config-btn:hover{background:#ffe8c2 !important;}
		.care-alert-summary{font-size:12.5px;color:#94590a;white-space:nowrap;}
		/* 申し送り:自由記入欄+「記録する」ボタンを同じ行に、ボタンは右端に配置。
		   幅が狭い端末ではボタンが窮屈になるため、ボタン群を下に折り返す。 */
		.care-record-card .care-content-row{align-items:stretch !important;}
		.care-record-card .care-content-row .care-field-full{flex:1 1 auto !important;}
		.care-content-actions{display:flex !important;flex-direction:column !important;justify-content:flex-end !important;gap:6px !important;flex:0 0 auto !important;}
		.care-content-actions .care-btn{white-space:nowrap;}
		@media (max-width:480px){
			.care-record-card .care-content-row{flex-wrap:wrap !important;}
			.care-content-actions{flex-direction:row !important;width:100% !important;}
			.care-content-actions .care-btn{flex:1 1 auto !important;}
		}
		/* 申し送り:自由記入欄の下のボタンで文章を自動作成する仕組み。
		   カテゴリボタン→キーワードボタン→語尾ボタン、の順に選んでいくと
		   自由記入欄に文章が自動的に追記される(現状は「状態」のみ設定済み、
		   他のカテゴリは選択肢を追加するまで準備中として無効化している)。 */
		.care-record-card .care-phrase-builder{flex-direction:column !important;align-items:flex-start !important;gap:6px !important;}
		.care-phrase-categories,.care-phrase-options{display:flex !important;flex-wrap:wrap;align-items:center;gap:6px !important;width:100%;}
		.care-phrase-options[hidden]{display:none !important;}
		.care-phrase-cat-btn,.care-phrase-btn{background:#eef5f2 !important;color:#3d6a5c !important;border:1px solid #cfe1da !important;border-radius:16px;padding:5px 13px;font-size:12.5px;cursor:pointer;white-space:nowrap;}
		.care-phrase-cat-btn:hover,.care-phrase-btn:hover{background:#dcece5 !important;}
		.care-phrase-cat-btn:disabled{background:#f2f2f2 !important;color:#aaa !important;border-color:#e2e2e2 !important;cursor:not-allowed;}
		.care-phrase-back-btn{background:#f2f2f2 !important;color:#777 !important;border-color:#ddd !important;}
		/* 申し送り:アラートのポップアップ(日付・時刻・繰り返し設定)。
		   身長・体重ポップアップ(care-body-modal-*)と同じ見た目のパターン。 */
		.care-alert-modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);align-items:center;justify-content:center;z-index:99998;padding:16px;box-sizing:border-box;}
		.care-alert-modal-overlay.is-open{display:flex;}
		.care-alert-modal-box{background:#fff;border-radius:10px;padding:22px 24px;max-width:420px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 8px 28px rgba(0,0,0,.28);position:relative;box-sizing:border-box;}
		.care-alert-modal-box *{box-sizing:border-box;}
		.care-alert-modal-box h3{margin:0 0 14px 0 !important;font-size:16px;}
		.care-alert-modal-close{position:absolute;top:10px;right:12px;border:none;background:none;font-size:22px;line-height:1;cursor:pointer;color:#888;padding:4px;}
		.care-alert-modal-close:hover{color:#333;}
		.care-alert-weekday-field[hidden]{display:none !important;}

		/* 備考欄のスマホ用ポップアップ:大きめの複数行入力欄。 */
		.care-note-modal-textarea{
			width:100%;min-height:160px;padding:12px;border:1px solid #ccc;border-radius:6px;
			font-size:17px;font-family:inherit;resize:vertical;
		}
		/* スマホでは、タップして開くことが分かるよう、備考欄をreadonly化した
		   状態でも入力欄らしい見た目(カーソル・薄い背景にしない)を保つ。 */
		@media (max-width:480px){
			.care-record-card input.care-note-tap-input[readonly]{background:#fff;cursor:pointer;}
		}

		/* ▲▼ステッパー(小刻み/大きめの2段階増減ボタン付き入力欄)。
		   既定(プルダウン+ボタンの栄養・水分欄など)は、ボタンを入力欄の
		   左右に1個ずつ並べる横一列。バイタル欄(.care-stepper-stacked)は
		   入力欄の下にボタン行をまとめて置く縦積みにしている(上のCSSで上書き)。 */
		.care-record-card .care-stepper{display:flex;align-items:stretch;gap:3px;}
		/* 時刻・時間帯:入力欄の右に15分単位の増減ボタンを並べる。 */
		.care-record-card .care-hourslot-stepper input,
		.care-record-card .care-time-stepper input{flex:1 1 auto;text-align:left;padding-left:8px !important;}
		.care-record-card .care-hourslot-btn{flex:0 0 auto;min-width:52px;padding:0 10px;font-size:12px;}
		.care-record-card .care-time-stepper{align-items:stretch;gap:4px;}
		.care-record-card .care-datetime-row .care-time-stepper input[type=time]{width:110px !important;min-width:0 !important;flex:0 0 auto !important;}
		.care-record-card .care-time-stepper .care-hourslot-btn{min-width:46px;padding:6px 8px;}
		@media (max-width:480px){
			.care-record-card .care-time-stepper .care-hourslot-btn{min-width:52px;padding:10px 6px;font-size:13px;}
		}
		.care-record-card .care-stepper input{flex:1 1 auto;min-width:0;text-align:center;padding-left:2px !important;padding-right:2px !important;}
		.care-step-btn{
			flex:1 1 0;min-width:26px;min-height:0;padding:0 4px;border:1px solid #ccc;border-radius:4px;
			background:#f7f7f7;color:#444;font-size:9.5px;line-height:1;cursor:pointer;
			display:flex;align-items:center;justify-content:center;
			-webkit-tap-highlight-color:transparent;
		}
		.care-step-btn:active{background:#e2e2e2;}
		.care-step-btn-lg{background:#eef2f0;color:#3d6a5c;font-weight:600;}
		/* 栄養・水分のプルダウン+ボタン欄:ボタンは幅を固定し、プルダウンの方を
		   広く取る(数値入力欄と違い、ボタン1個ずつを両端に置くだけの構成)。 */
		/* プルダウンとテキスト入力で枠の高さが微妙に違い、並べたときに
		   片方だけ大きく(小さく)見えてしまうため、高さをそろえる。
		   ステッパー(.care-stepper)の中の入力欄は独自の高さ調整があるため、
		   .care-fieldの直下にある入力欄だけを対象にする。 */
		/* ---- 入力枠の高さをそろえる ----
		   基準は食事タブの「主菜・副菜」のプルダウン。
		   1行で入力する欄(テキスト・数値・日付・時刻・プルダウン)と、
		   増減ボタン付きの欄・水分の枠も、外枠の高さをこれに合わせる。
		   (バイタルのように増減ボタンを下段に置く欄は、入力枠だけをそろえる) */
		.care-record-card{--care-ctl-h:32px;}
		.care-record-card .care-field > input[type="text"],
		.care-record-card .care-field > input[type="number"],
		.care-record-card .care-field > input[type="date"],
		.care-record-card .care-field > input[type="time"],
		.care-record-card .care-field > select,
		.care-record-card .care-stepper > input[type="text"],
		.care-record-card .care-stepper > input[type="number"],
		.care-record-card .care-amount-stepper > select,
		.care-record-card .care-amount-stepper > .care-step-btn{
			box-sizing:border-box !important;
			height:var(--care-ctl-h) !important;
			min-height:var(--care-ctl-h) !important;
		}
		/* 増減ボタンを横に置く欄(栄養・水分)は、枠全体も同じ高さにする */
		.care-record-card .care-field > .care-amount-stepper{
			box-sizing:border-box !important;height:var(--care-ctl-h) !important;align-items:stretch !important;
		}
		.care-record-card .care-field > .care-water-box{
			box-sizing:border-box !important;height:var(--care-ctl-h) !important;
			padding:0 8px !important;align-items:center !important;
		}
		.care-record-card .care-water-box .care-amount-stepper{
			height:calc(var(--care-ctl-h) - 8px) !important;align-items:stretch !important;
		}
		.care-record-card .care-water-box .care-amount-stepper > select,
		.care-record-card .care-water-box .care-amount-stepper > .care-step-btn{
			height:100% !important;min-height:0 !important;
			/* 枠の内側は少し低いので、上下の余白を詰めて文字が切れないようにする */
			padding-top:0 !important;padding-bottom:0 !important;
		}


		.care-record-card .care-amount-stepper{align-items:center;}
		.care-record-card .care-amount-stepper select{flex:1 1 auto !important;min-width:0 !important;}
		.care-record-card .care-amount-stepper .care-step-btn{flex:0 0 auto !important;min-width:34px !important;padding:6px 4px !important;}
		/* 水分(ml)欄:枠で囲み、本日の合計を表示する。水分制限がある利用者は、
		   合計が制限の半分に達したら薄いオレンジ、超えたら薄い赤で塗りつぶす
		   (文字は読める濃さに留める)。 */
		.care-record-card .care-water-box{
			border:1px solid #ddd;border-radius:6px;padding:6px 8px;background:#fff;
			display:flex !important;flex-direction:row !important;align-items:center !important;gap:8px !important;width:100%;
		}
		.care-record-card .care-water-box .care-amount-stepper{flex:1 1 auto !important;min-width:0;}
		.care-record-card .care-water-box.care-water-warn{background:#fdead0;border-color:#eec488;}
		.care-record-card .care-water-box.care-water-over{background:#fbdcd8;border-color:#e8a99f;}
		.care-record-card .care-water-total{font-size:11px !important;color:#666 !important;white-space:nowrap;flex:0 0 auto !important;}

		.care-water-box.care-water-warn .care-water-total{color:#7a4e10 !important;}
		.care-water-box.care-water-over .care-water-total{color:#7a2318 !important;}
		/* 数字入力欄のブラウザ標準の▲▼(スピンボタン)は、外側に専用ボタンが
		   あるため不要 → 非表示にする。 */
		.care-record-card input[type=number]::-webkit-inner-spin-button,
		.care-record-card input[type=number]::-webkit-outer-spin-button{
			-webkit-appearance:none;margin:0;
		}
		.care-record-card input[type=number]{-moz-appearance:textfield;}
		.care-record-card input,.care-record-card select{width:100%;padding:5px 8px;border:1px solid #ccc;border-radius:4px;font-size:13.5px;}
		/* WordPressの自動整形が差し込む<br>や空の<p>は、枠の中に不要な余白を
		   作ってしまうため、記録カードの中では無効にする。 */
		/* 入力例(プレースホルダー)は、実際に入力した文字と見分けやすいよう薄くする。 */
		.care-records-page input::placeholder,
		.care-records-page textarea::placeholder,
		.care-record-card input::placeholder,
		.care-record-card textarea::placeholder{color:#c3c9c5 !important;opacity:1 !important;}

		.care-record-card br{display:none !important;}
		.care-record-card p:empty{display:none !important;}
		.care-record-card .care-stepper > br,
		.care-record-card .care-field > br{display:none !important;}

		.care-record-card .care-btn{align-self:flex-start;padding:9px 20px;border:1px solid rgba(0,0,0,.16);border-radius:8px;background:linear-gradient(180deg,#4d8071 0%,#3d6a5c 100%);color:#fff;font-size:13.5px;font-weight:600;cursor:pointer;text-decoration:none;display:inline-block;}
		/* スマホでは記録の入力(数値・プルダウン等)に使う場面がほとんどのため、
		   狭い画面では読みやすさ・押しやすさを優先して入力欄を大きくする。
		   縦に長くなる分にはスクロールすればよいだけなので、コンパクトさより
		   文字の大きさと入力欄の高さを優先する。 */
		@media (max-width:480px){
			.care-record-card .care-field{font-size:15px;}
			.care-record-card input,.care-record-card select{padding:13px 10px;font-size:19px;}
			.care-record-card textarea{padding:12px 10px;font-size:17px;}
			.care-record-card .care-stepper input{padding-left:4px !important;padding-right:4px !important;}
			.care-step-btn{min-width:42px;padding:12px 6px;font-size:13.5px;}
			.care-record-card .care-amount-stepper .care-step-btn{min-width:42px !important;padding:12px 6px !important;font-size:13.5px !important;}
			.care-record-card{--care-ctl-h:52px;}
			.care-record-card .care-btn{padding:13px 22px;font-size:16.5px;}

			/* バイタル欄:スマホだけ、ラベルを上、入力欄をその下、増減ボタンを
			   さらにその下(左右にまとめて)に置く「縦積み」カードにする
			   (PC/タブレットは上の方の既定CSSで元の横並びのまま)。 */
			.care-record-card .care-vital-grid{
				display:flex !important;flex-direction:column !important;gap:12px !important;
			}
			.care-record-card .care-vital-grid .care-field.care-field-stacked{
				flex-direction:column !important;align-items:stretch !important;
				gap:6px !important;height:auto !important;
				/* 枠の下側は、増減ボタンのすぐ下で終わるように余白を狭くする
				   (上・左右は今まで通り)。 */
				padding:12px 14px 8px;border:1px solid #e2e2e2;border-radius:8px;background:#fafafa;
				min-height:0 !important;
			}
			.care-record-card .care-vital-grid .care-field.care-field-stacked > label{
				flex:0 0 auto !important;width:auto !important;font-size:14px;font-weight:600;color:#333;
			}
			.care-record-card .care-stepper.care-stepper-stacked{
				flex-direction:column !important;align-items:stretch !important;gap:8px !important;
				min-height:0 !important;height:auto !important;
			}
			.care-record-card .care-vital-grid .care-step-row{margin:0 !important;padding:0 !important;}
			/* 入力欄の高さは元の縦積み案の3分の2程度に抑え、数字は少し大きく、
			   上下左右とも中央揃えにする。 */
			.care-record-card .care-stepper.care-stepper-stacked input{
				width:100% !important;flex:none !important;text-align:center !important;
				padding:4px 12px !important;font-size:22px !important;order:0 !important;
			}
			.care-step-row{display:flex !important;justify-content:space-between !important;gap:10px !important;order:1 !important;}
			.care-step-group{flex-direction:row !important;gap:6px !important;}
			.care-step-group:last-of-type{flex-direction:row !important;}
			.care-record-card .care-vital-grid .care-step-btn{min-width:42px !important;padding:12px 6px !important;font-size:13.5px !important;}
			.care-step-group:first-of-type,.care-step-group:last-of-type{order:0 !important;}
			/* 「前回の数字を反映」の注記は、縦積みレイアウトでは右寄せではなく
			   左寄せにする(PC/タブレットのグリッドではalign-self:endのまま)。 */
			.care-prefill-note{align-self:flex-start !important;}

		}
		/* 編集中フォームの「キャンセル」ボタンは、更新するボタンより控えめな色にする
		   (日付絞り込みの「この日で絞り込む」等は対象外にするため、care-note-row内に限定)。 */
		.care-note-row .care-btn-secondary{background:#eee !important;color:#555 !important;}

		.care-notice{padding:10px 14px;border-radius:6px;font-size:14px;}
		.care-notice-success{background:#eaf6ec;color:#1e5b2a;border:1px solid #bfe3c6;}
		.care-notice-error{background:#fbe9e7;color:#8a2c22;border:1px solid #f3c2ba;}

		.care-note-row{display:flex !important;flex-direction:row !important;flex-wrap:nowrap !important;align-items:flex-end !important;gap:8px !important;height:auto !important;width:100% !important;}
		.care-note-row .care-field{flex:1 1 auto !important;min-width:0 !important;}
		.care-note-row .care-field input{width:100% !important;}
		.care-note-row .care-btn{flex:0 0 auto !important;width:auto !important;white-space:nowrap;align-self:flex-end !important;}
		@media (max-width:340px){
			.care-note-row{flex-wrap:wrap !important;}
			.care-note-row .care-btn{width:100% !important;}
		}

		.care-date-filter{display:block !important;}
		/* 日付が2つ+ボタン2つで幅を取るため、入りきらない分は折り返す
		   (日付欄自体を縮めて読めなくするより、行を折り返す方を優先)。 */
		.care-date-filter form{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;align-items:center !important;gap:6px !important;margin-bottom:4px !important;height:auto !important;}
		.care-date-filter form input[type=hidden]{display:none !important;}
		/* 日付欄は年/月/日が読めるだけの幅を確保し、flex-shrinkはさせない
		   (0 0 …で固定し、入りきらなければ入力欄ではなく行の方を折り返す)。 */
		.care-date-filter input[type=date]{flex:0 0 150px !important;width:150px !important;min-width:150px !important;max-width:none !important;padding:5px 6px !important;border:1px solid #ccc;border-radius:4px;font-size:13px;box-sizing:border-box;}
		.care-date-filter-tilde{flex:0 0 auto !important;color:#888;font-size:13px;}
		.care-date-filter .care-btn{flex:0 0 auto !important;width:auto !important;padding:6px 10px !important;font-size:12.5px;white-space:nowrap;}
		/* 今日/昨日/3日間/1週間のクイック絞り込みボタン。現在の絞り込みと一致するものは色を変えて示す。 */
		.care-quick-filter{background:#eee !important;color:#555 !important;}
		.care-quick-filter.is-active{background:#c0392b !important;color:#fff !important;}
		@media (max-width:400px){
			.care-date-filter input[type=date]{flex:1 1 100% !important;width:100% !important;min-width:0 !important;}
		}
		.care-records-subheading{font-size:12.5px;color:#666;font-weight:600;}
		.care-records-subheading-row{display:flex !important;flex-direction:row !important;flex-wrap:wrap !important;align-items:baseline !important;justify-content:space-between !important;gap:6px 12px !important;height:auto !important;}
		.care-records-subheading-row .care-records-subheading{margin:0 !important;}
		.care-sort-toggle{font-size:12px;color:#888;white-space:nowrap;}
		.care-sort-link{color:#3d6a5c;text-decoration:none;margin-left:4px;}
		.care-sort-link.is-active{color:#c0392b;font-weight:600;text-decoration:underline;}

		.care-pagination{display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:center !important;gap:12px !important;height:auto !important;margin-top:10px !important;}
		.care-pagination .care-btn{padding:6px 12px !important;font-size:12.5px;}
		.care-pagination-info{font-size:12.5px;color:#666;white-space:nowrap;}

		.care-mini-table{width:100%;border-collapse:collapse;font-size:12px;}
		.care-mini-table th,.care-mini-table td{padding:5px 6px;border-bottom:1px solid #e8e8e8;text-align:left;}
		.care-mini-table thead th{background:#eee;}
		.care-mini-actions{white-space:nowrap;}
		/* 申し送り一覧:内容の欄をできるだけ広く使えるよう、それ以外の列は
		   中身の幅ぶんだけにする。 */
		.care-mini-handover_notes td.care-col-record_date,
		.care-mini-handover_notes td.care-col-record_time,
		.care-mini-handover_notes td.care-col-staff_name,
		.care-mini-handover_notes th:not(:nth-child(4)){width:1%;white-space:nowrap;}
		.care-mini-handover_notes .care-important-col,
		.care-mini-handover_notes .care-flagmark-col,
		.care-mini-handover_notes .care-attach-col,
		.care-mini-handover_notes .care-alert-col{width:1%;white-space:nowrap;text-align:center;}
		.care-mini-handover_notes td.care-col-content{width:auto;min-width:14em;}
		/* チャットワークへ送信済みの申し送りは薄い青で塗る。
		   重要事項(薄い赤)と重なったときは、赤を残したまま左端に青い線を引く。 */
		.care-mini-handover_notes tr.is-cw-sent > td{background:#e8f1fb;}
		.care-mini-handover_notes tr.is-cw-sent > td:first-child{box-shadow:inset 4px 0 0 #6f9fd8;}
		.care-mini-handover_notes tr.is-important.is-cw-sent > td{background:#fdecea;}
		/* スマホ:表のままだと内容の列が1文字ずつしか入らず読めないので、
		   1件を2段に組み直す。
		     1段目 … 日付 時刻 / 記録者(縦・2段ぶん)
		     2段目 … 内容 / その右に 申 常 🕐
		   重要事項はスタンプではなく行を薄い赤で塗り、編集・削除はPCで行う。 */
		@media (max-width:480px){
			.care-mini-handover_notes{display:block;width:100%;border:0;}
			.care-mini-handover_notes thead{display:none;}
			.care-mini-handover_notes tbody{display:block;}
			.care-mini-handover_notes tr{
				display:grid;
				grid-template-columns:auto 1fr auto auto auto auto auto;
				align-items:center;
				gap:0 2px;
				padding:8px 2px;
				border-bottom:1px solid #e6e6e6;
				/* 記録者を縦書きで出すため、4文字ぶんの高さを確保しておく */
				min-height:58px;
			}
			.care-mini-handover_notes tr.is-important{background:#fdecea;}
			.care-mini-handover_notes tr.is-cw-sent{background:#e8f1fb;}
			.care-mini-handover_notes tr.is-important.is-cw-sent{
				background:#fdecea;box-shadow:inset 4px 0 0 #6f9fd8;
			}
			.care-mini-handover_notes tr.is-cw-sent > td,
			.care-mini-handover_notes tr.is-important > td{background:none !important;}
			.care-mini-handover_notes td{border:0 !important;padding:1px 3px !important;background:none !important;}

			/* 日付・時刻は同じ段にまとめ、控えめに */
			.care-mini-handover_notes td:nth-child(1){
				grid-row:1;grid-column:1;white-space:nowrap !important;
				font-size:12px;color:#666;
			}
			.care-mini-handover_notes td:nth-child(2){
				grid-row:1;grid-column:2;white-space:nowrap !important;
				font-size:12px;color:#666;
			}
			/* 重要事項のスタンプは出さない(行の色で示す) */
			.care-mini-handover_notes .care-th-is_important,
			.care-mini-handover_notes .care-important-col{display:none !important;}

			/* 申・常・アラート・添付は、内容と同じ段の右側にまとめる。
			   印が無い行でも位置がずれないよう、幅を決めておく。 */
			.care-mini-handover_notes td:nth-child(5),
			.care-mini-handover_notes td:nth-child(6),
			.care-mini-handover_notes td:nth-child(7),
			.care-mini-handover_notes td:nth-child(8){
				width:26px;text-align:center !important;
			}
			.care-mini-handover_notes td:nth-child(5){grid-row:2;grid-column:3;}
			.care-mini-handover_notes td:nth-child(6){grid-row:2;grid-column:4;}
			.care-mini-handover_notes td:nth-child(7){grid-row:2;grid-column:5;}
			.care-mini-handover_notes td:nth-child(8){grid-row:2;grid-column:6;}

			/* 記録者は縦書きにして幅を取らない。2段ぶんの高さを使う */
			.care-mini-handover_notes td:nth-child(9){
				grid-row:1 / span 2;grid-column:7;
				writing-mode:vertical-rl;text-orientation:mixed;
				font-size:11px;color:#777;line-height:1.2;
				/* 縦書きでは width が「文字の太さ」側になる。
				   ここを決めておかないと列の幅が0になり、文字が隣にはみ出す */
				width:14px;text-align:center;
				justify-self:center;align-self:stretch;
				white-space:nowrap !important;
			}

			/* 内容は2段目に、横いっぱいで折り返す */
			.care-mini-handover_notes td:nth-child(4){
				grid-row:2;grid-column:1 / 3;padding-right:6px !important;
				white-space:normal !important;word-break:break-word;
				min-width:0 !important;width:auto !important;
				font-size:14px;line-height:1.6;padding-top:4px !important;
			}

			/* 編集・削除はPCで行う(スマホでは出さない) */
			.care-mini-handover_notes td.care-mini-actions{display:none !important;}
		}
		/* 「申」「常」の〇。付いていれば濃く、付いていなければ薄く表示し、
		   クリックで付け外しできることが分かるようにする。 */
		.care-flag-mark.is-on{color:#c0392b;font-weight:700;text-decoration:none;font-size:15px;}
		.care-flag-mark.is-off{color:#dcdcdc;text-decoration:none;font-size:15px;}
		.care-flag-mark.is-off:hover{color:#9fb3a9;}
		.care-mini-action{color:#3d6a5c;text-decoration:none;margin-right:8px;}
		.care-mini-action-danger{color:#c0392b;}
		.care-mini-important-tag{display:inline-block;padding:1px 6px;border-radius:4px;background:#c0392b;color:#fff;font-size:10.5px;font-weight:600;margin-right:4px;vertical-align:middle;}
		/* 記録一覧:「重要事項」列(赤い枠+赤文字の「重要」)。 */
		.care-important-col{text-align:center;}
		.care-important-col-tag{display:inline-block;padding:1px 7px;border:1.5px solid #c0392b;border-radius:4px;background:#c0392b;color:#fff;font-size:11px;font-weight:700;}
		/* 記録一覧:「申し送り」「常時表示」列(該当すれば1文字表記)。 */
		.care-flagmark-col{text-align:center;}
		/* 備考:表では赤い○だけ出し、押すとポップアップで中身を見せる */
		/* 記録画面:名前の下に置く「情報」ボタン。
		   見出しの行(flex)の中で必ず改行させて、名前の真下に来るようにする。 */
		.care-records-info-line{flex:1 0 100%;margin-top:2px !important;}
		.care-records-info-line .care-info-open-btn{padding:5px 14px;font-size:12.5px;}
		@media (max-width:480px){
			.care-records-info-line .care-info-open-btn{padding:8px 18px;font-size:14px;}
		}
		/* 種別は、表が狭いPCでは丸印、スマホのカード表示では元の名前を出す */
		.care-cat-full{display:none;}
		/* 連絡記録:相手の頭文字を丸で囲んだ印(職・家・ケ・医・業・他) */
		.care-party-mark{
			display:inline-flex;align-items:center;justify-content:center;
			width:1.5em;height:1.5em;margin-right:3px;border:1px solid #3d6a5c;border-radius:50%;
			color:#3d6a5c;font-size:.92em;font-weight:700;line-height:1;vertical-align:middle;
		}
		.care-note-col{text-align:center;width:2.2em;}
		/* ○は表の文字(12px)と同じくらいの大きさにして、行の高さを変えない */
		/* 訪問予定表から入れたバイタルの印 */
		.care-visit-from{
			display:inline-block;padding:1px 6px;border-radius:10px;
			background:#f0e6f7;border:1px solid #b08fc0;color:#5d3a72;
			font-size:11px;font-weight:700;white-space:nowrap;
		}
		/* 3.6.7: 排泄の「陰部洗浄」。場所の左に出す印
		   3.6.8: 「○」と「陰」を並べるのではなく、**陰の字そのものを丸で囲む**。
		   字の大きさに合わせた正方形にして、角を丸くしきる(50%)と丸になる。 */
		.care-perineal-mark{
			display:inline-flex;align-items:center;justify-content:center;
			width:19px;height:19px;margin-right:4px;padding:0;border-radius:50%;
			background:#e3f0ea;border:1px solid #7fae97;color:#2f5f46;
			font-size:11px;font-weight:700;line-height:1;vertical-align:middle;
		}
		.care-col-location{white-space:nowrap;}
		/* 陰部洗浄の入力欄は、場所のとなりに小さく置く */
		.care-excretion-perineal-field{flex:0 0 auto;}

		.care-note-mark{
			position:relative;display:inline-block;vertical-align:middle;
			width:13px;height:13px;padding:0;border:1.5px solid #c0392b;border-radius:50%;
			background:#fff;font-size:0;line-height:0;cursor:pointer;box-sizing:border-box;
		}
		/* 見た目は小さいままで、押せる範囲だけ外側に広げる(行の高さは変わらない) */
		.care-note-mark::after{content:"";position:absolute;left:-12px;right:-12px;top:-9px;bottom:-9px;}
		.care-note-mark:hover{background:#c0392b;color:#fff;}
		.care-note-modal-overlay{
			display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);
			align-items:center;justify-content:center;z-index:99998;padding:16px;box-sizing:border-box;
		}
		.care-note-modal-overlay.is-open{display:flex;}
		.care-note-modal-box{
			position:relative;background:#fff;border-radius:10px;padding:20px 22px;
			max-width:420px;width:100%;max-height:80vh;overflow-y:auto;box-shadow:0 8px 30px rgba(0,0,0,.25);
		}
		.care-note-modal-box h3{font-size:16px;margin:0 0 4px !important;color:#333;}
		.care-note-modal-meta{font-size:12px;color:#888;margin:0 0 10px !important;}
		.care-note-modal-body{font-size:15px;line-height:1.7;color:#233;white-space:pre-wrap;word-break:break-word;}
		@media (max-width:480px){
			.care-note-col{width:2.6em;}
		}
		.care-flag-mark{display:inline-block;color:#3d6a5c;font-size:14px;font-weight:700;}
		/* 記録一覧:「アラート」列(設定済みなら時計アイコン。押すと設定内容の確認ポップアップ)。 */
		.care-alert-col{text-align:center;}
		.care-alert-view-btn{background:none;border:1.5px solid #e08a1e;color:#e08a1e;border-radius:50%;width:22px;height:22px;line-height:1;font-size:12px;font-weight:700;cursor:pointer;padding:0;}
		.care-alert-view-btn:hover{background:#fff3e0;}
		.care-alertview-form .care-field input:disabled,
		.care-alertview-form .care-field select:disabled,
		.care-alertview-form .care-checkbox-item input:disabled{color:#888;background:#f5f5f5;}
		.care-alertview-footer{display:flex !important;flex-direction:row !important;align-items:center !important;justify-content:flex-end !important;gap:12px !important;width:100%;margin-top:6px !important;}
		.care-alertview-edit-toggle{color:#666;}
	

/* ===== residents-page.php ===== */
		.care-care-edit-lead{font-size:13px;color:#666;margin:0 0 14px;line-height:1.6;}
		/* 仮登録の顔写真(スマホだけ。中のボタンは resident-photos.php の .care-album-camera) */
		.care-pending-photo{display:none;}
		@media (hover:none) and (pointer:coarse){
			.care-pending-photo{
				display:flex;align-items:center;gap:12px;flex-wrap:wrap;
				margin:0 0 14px;padding:10px 12px;border:1px dashed #b9c8c2;border-radius:10px;background:#fafcfb;
			}
			.care-pending-photo-cur:empty{display:none;}
			.care-pending-photo-btn{flex:1 1 200px;display:flex;flex-direction:column;gap:6px;}
			.care-pending-photo-label{font-size:13px;font-weight:700;color:#444;}
		}
		.care-care-edit-form .care-field{margin-bottom:12px;}
		.care-care-edit-form .care-field-label,.care-care-edit-form > .care-admin-panel label{display:block;font-weight:600;font-size:13.5px;color:#333;margin-bottom:3px;}
		.care-care-edit-form input[type="text"],.care-care-edit-form input[type="number"],.care-care-edit-form input[type="date"],.care-care-edit-form select,.care-care-edit-form textarea{
			width:100%;padding:10px;font-size:16px;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;
		}
		/* 3.9.4: えらんだものは**白**、まだ「未選択」のものは**灰色**のまま。
		   どこまで入れたかが、ひと目で分かるようにするため。

		   ・iPhoneのSafariは、select をブラウザの見た目のままにしていると
		     こちらの指定した背景色を無視する。そのため appearance:none にして、
		     矢印はこちらで描く（見た目は今までとほぼ同じ形にしてある）。
		   ・「未選択」の option は value="" なので、
		     :has() で「空のものが選ばれている select」だけを灰色にできる。 */
		.care-care-edit-form select{
			appearance:none;-webkit-appearance:none;-moz-appearance:none;
			background-color:#fff;
			background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='14' viewBox='0 0 12 14'%3E%3Cpath fill='%23667' d='M6 1.5 9.2 5H2.8zM6 12.5 2.8 9h6.4z'/%3E%3C/svg%3E");
			background-repeat:no-repeat;
			background-position:right 10px center;
			padding-right:32px;
		}
		.care-care-edit-form select:has(option[value=""]:checked){
			background-color:#e9ecef;color:#5f6b66;
		}
		/* チェックボックス(利用サービスの曜日など)は幅を広げない。 */
		.care-care-edit-form input[type="checkbox"]{width:auto !important;height:auto;margin:0 4px 0 0;padding:0 !important;vertical-align:middle;}
		.care-care-edit-form .care-weekday-checks label{display:inline-flex !important;align-items:center;font-weight:400 !important;font-size:14px !important;margin:0 !important;white-space:nowrap;}
		.care-care-edit-form .care-repeater-row{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
		.care-care-edit-form .care-repeater-row input[type="text"]{flex:1 1 140px;width:auto;}
		.care-care-edit-form .care-repeater-row input[type="date"]{flex:0 0 auto;width:auto;}
		.care-care-edit-form .care-repeater-row select{flex:0 0 auto;width:auto;}
		.care-care-edit-form .description{font-size:12px;color:#777;margin:3px 0 0;}
		.care-care-edit-form .care-admin-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid #dcdcde;margin:0 0 12px;}
		.care-care-edit-form .care-admin-tab{padding:10px 14px;font-size:14px;}
		.care-care-edit-form .care-admin-panel{border:none;padding:0;}
		.care-care-edit-actions{margin-top:18px;display:flex;gap:10px;}
		@media (max-width:480px){
			.care-care-edit-form .care-field-label{font-size:15px;}
			.care-care-edit-form .care-admin-tab{font-size:14px;padding:10px 10px;flex:1 1 40%;}
			/* 曜日は7つが1行に収まるように詰める。 */
			.care-care-edit-form .care-weekday-checks{gap:2px 5px !important;}
			.care-care-edit-form .care-weekday-checks label{font-size:13px !important;}
			.care-care-edit-form .care-weekday-checks input[type="checkbox"]{width:15px !important;height:15px !important;margin-right:2px;}
		}
	

/* ===== residents-page.php ===== */
		.care-pending-lead{font-size:13px;color:#666;line-height:1.7;margin:0 0 12px;}
		.care-pending-list{display:flex;flex-direction:column;gap:10px;}
		.care-pending-item{border:1px solid #dfe5e2;border-left:5px solid #7a9a5a;border-radius:10px;background:#fff;padding:12px 14px;}
		.care-pending-item.is-dup{border-left-color:#e0a030;}
		.care-pending-head{display:flex;flex-wrap:wrap;align-items:center;gap:8px;margin-bottom:6px;}
		.care-pending-name{font-size:17px;font-weight:700;color:#222;}
		.care-pending-kana{font-size:12px;color:#777;}
		.care-pending-dup{font-size:12px;font-weight:700;color:#8a5a00;background:#fff3dd;border:1px solid #f0d090;border-radius:10px;padding:1px 9px;}
		.care-pending-facts{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));gap:4px 14px;margin:0 0 10px;}
		.care-pending-facts div{display:flex;gap:6px;font-size:13px;line-height:1.6;}
		.care-pending-facts dt{color:#777;flex:0 0 auto;margin:0;}
		.care-pending-facts dt::after{content:"：";}
		.care-pending-facts dd{margin:0;color:#222;}
		.care-pending-actions{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
		.care-pending-actions form{margin:0;}
		.care-pending-actions .care-btn-plain{background:#fff;color:#a3341f;border:1px solid #e2b5ad;font-weight:400;}
		.care-pending-actions .care-pending-danger{color:#a3341f;border-color:#e2b5ad;}
		.care-pending{max-width:900px;}
	

/* ===== residents-page.php ===== */
		.care-print-docs{margin:2px 0 4px;font-size:11px;color:#444;line-height:1.6;}
		.care-print-docs a{color:#2f5a4b;margin-right:10px;}
		.care-print-attach{margin-top:16px;padding-top:12px;border-top:1px dashed #cfd8d4;}
		.care-print-attach-head{display:flex;justify-content:space-between;gap:10px;font-size:11px;color:#555;margin-bottom:6px;}
		.care-print-attach img{display:block;max-width:100%;max-height:900px;margin:0 auto;border:1px solid #ddd;}
		.care-print-sheet{background:#fff;border:1px solid #dfe5e2;border-radius:8px;padding:14px 16px;max-width:1000px;font-size:12px;line-height:1.45;color:#222;font-family:"Hiragino Kaku Gothic ProN","Meiryo",sans-serif;}
		.care-print-sheet *{box-sizing:border-box;}
		.care-print-head{display:flex;justify-content:space-between;align-items:flex-start;gap:12px;border-bottom:2px solid #3d6a5c;padding-bottom:6px;margin-bottom:8px;}
		.care-print-kind{font-size:11px;color:#3d6a5c;font-weight:700;letter-spacing:.04em;}
		.care-print-name{font-size:22px;font-weight:700;margin:0 0 2px;line-height:1.3;}
		.care-print-name span{font-size:13px;font-weight:400;margin-left:6px;}
		.care-print-sub{display:flex;flex-wrap:wrap;gap:2px 14px;font-size:11px;color:#555;}
		.care-print-photo img{width:72px;height:72px;object-fit:cover;border-radius:6px;border:1px solid #ccc;display:block;}
		.care-print-cols{display:grid;grid-template-columns:1fr 1fr;gap:0 14px;align-items:start;}
		.care-print-h{font-size:12.5px;margin:8px 0 3px !important;padding:2px 7px;background:#eef5f2;border-left:4px solid #3d6a5c;color:#2f5a4b;line-height:1.4;break-after:avoid;}
		.care-print-col > .care-print-h:first-child{margin-top:0 !important;}
		.care-print-table{width:100%;border-collapse:collapse;table-layout:fixed;}
		.care-print-table th,.care-print-table td{border:1px solid #cfd8d4;padding:2px 6px;vertical-align:top;text-align:left;font-size:11px;line-height:1.4;}
		.care-print-table th{width:9em;background:#f6f9f7;font-weight:600;color:#444;word-break:break-all;}
		.care-print-table tr{break-inside:avoid;}
		.care-print-contacts th{width:auto;text-align:left;}
		.care-print-empty{color:#aaa;}
		.care-print-nocontact{margin:2px 0;font-size:11px;}
		.care-print-foot{margin:8px 0 0;font-size:10px;color:#888;}
		@media (max-width:700px){
			.care-print-cols{grid-template-columns:1fr;}
		}
		@media print{
			@page{size:A4;margin:9mm 10mm;}
			.care-print-sheet{border:0;border-radius:0;padding:0;margin:0;max-width:none;font-size:11px;}
			.care-print-cols{grid-template-columns:1fr 1fr !important;}
			.care-print-table th,.care-print-table td{padding:1px 5px;font-size:11px;line-height:1.4;}
			.care-print-h{font-size:11.5px;margin:6px 0 2px !important;padding:1px 6px;background:#eef5f2 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
			.care-print-table th{background:#f6f9f7 !important;-webkit-print-color-adjust:exact;print-color-adjust:exact;}
			.care-print-name{font-size:19px;}
			/* 添付の写真は1枚ごとに新しいページ。紙いっぱいに */
			.care-print-attach{break-before:page;page-break-before:always;margin:0;padding:0;border:0;}
			.care-print-attach img{max-height:255mm;max-width:100%;border:0;}
		}
	

/* ===== residents-page.php ===== */
		.care-print-tools{display:flex;flex-wrap:wrap;align-items:center;gap:12px;margin:0 0 14px;}
		.care-print-hint{font-size:12px;color:#777;}
	

/* ===== residents-page.php ===== */
		.care-care-edit-lead{font-size:13px;color:#666;margin-bottom:14px;}
		.care-care-edit-form .care-field{margin-bottom:12px;}
		.care-care-edit-form .care-field-label,.care-care-edit-form label{display:block;font-weight:600;font-size:13.5px;color:#333;margin-bottom:3px;}
		.care-care-edit-form input[type="text"],.care-care-edit-form input[type="number"],.care-care-edit-form select,.care-care-edit-form textarea{
			width:100%;padding:10px;font-size:16px;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;
		}
		.care-care-edit-form .care-repeater-row input[type="text"]{width:auto;}
		.care-care-edit-form .description{font-size:12px;color:#777;margin:3px 0 0;}
		.care-care-edit-actions{margin-top:18px;display:flex;gap:10px;}
		@media (max-width:480px){
			.care-care-edit-form .care-field-label,.care-care-edit-form label{font-size:15px;}
		}
	

/* ===== residents-page.php ===== */
		/* 排便の色分け(黄・赤の日数) */
		.care-stool-alert{display:flex;flex-wrap:wrap;gap:6px 18px;align-items:center;}
		.care-stool-alert label{display:inline-flex !important;align-items:center;gap:4px;font-weight:400 !important;margin:0 !important;white-space:nowrap;}
		.care-stool-alert input[type="number"]{width:4.5em !important;padding:8px 6px !important;text-align:center;}
		.care-stool-dot{display:inline-block;width:12px;height:12px;border-radius:50%;margin-right:2px;}
		.care-stool-dot.is-yellow{background:#f3c53d;}
		.care-stool-dot.is-red{background:#d9503d;}
		/* 生年月日(西暦・和暦の切り替え、年齢) */
		.care-bd{display:flex;flex-wrap:wrap;align-items:center;gap:6px 10px;}
		.care-bd-mode{display:inline-flex;gap:10px;font-size:13px;white-space:nowrap;}
		.care-bd-mode label{display:inline-flex !important;align-items:center;gap:3px;font-weight:400 !important;margin:0 !important;cursor:pointer;}
		.care-bd-mode input{width:auto !important;margin:0 !important;}
		.care-bd-seireki input[type="date"]{width:auto !important;min-width:11em;}
		.care-bd-wareki{display:inline-flex;align-items:center;gap:3px;flex-wrap:wrap;}
		.care-bd-wareki[hidden]{display:none !important;}
		.care-bd-wareki select{width:auto !important;}
		.care-bd-wareki input[type="number"]{width:4.2em !important;padding:8px 6px !important;text-align:center;}
		.care-bd-wareki span{font-size:13px;color:#444;margin-right:4px;}
		/* 3.9.4: 生年月日の横に出る「（昭和15年・85歳）」。
		   仮保存したあと、入れたものと年齢をここで見返すので、少し目立たせる。 */
		.care-bd-age{font-size:13px;color:#2f5a4b;font-weight:700;white-space:nowrap;}
		.care-bd-age:not(:empty){
			background:#e4f0ea;border:1px solid #bcd8cb;border-radius:999px;padding:3px 10px;
		}
		/* 添付ファイル(入居前・その他) */
		.care-rfiles-list{display:flex;flex-wrap:wrap;gap:8px;margin:0 0 8px;}
		.care-rfiles-item{display:flex;flex-direction:column;align-items:center;gap:3px;width:96px;font-size:11px;color:#444;cursor:pointer;font-weight:400 !important;}
		.care-rfiles-item img{width:96px;height:72px;object-fit:cover;border:1px solid #ccc;border-radius:6px;display:block;}
		.care-rfiles-doc{width:96px;height:72px;border:1px solid #ccc;border-radius:6px;display:flex;align-items:center;justify-content:center;font-size:28px;background:#fafafa;}
		.care-rfiles-name{max-width:96px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;}
		.care-rfiles-rm{color:#a3341f;display:inline-flex;align-items:center;gap:3px;}
		.care-rfiles-rm input{width:auto !important;margin:0 !important;}
		.care-rfiles-input{max-width:100%;font-size:13px;}
		/* 表示・非表示の切り替え(登録/更新ボタンの横) */
		.care-active-toggle{display:flex;flex-wrap:wrap;align-items:center;gap:6px 16px;margin:14px 0 0;}
		.care-active-toggle label{display:inline-flex;align-items:center;gap:6px;font-size:14px;}
		.care-active-toggle .description{flex:1 1 100%;margin:0;font-size:12.5px;color:#777;}
		.care-resident-status-tabs{margin:6px 0 4px !important;}

		/* 利用者フォームのタブ(項目が多いので4つに分けている) */
		.care-admin-tabs{display:flex;flex-wrap:wrap;gap:4px;border-bottom:2px solid #dcdcde;margin:12px 0 0;}
		.care-admin-tab{
			border:1px solid transparent;border-bottom:none;background:none;cursor:pointer;
			padding:10px 18px;font-size:14px;color:#666;border-radius:6px 6px 0 0;margin-bottom:-2px;
		}
		.care-admin-tab:hover{color:#2271b1;}
		.care-admin-tab.is-active{background:#fff;border-color:#dcdcde;border-bottom:2px solid #fff;color:#c0392b;font-weight:600;}
		.care-admin-panel{display:none;border:1px solid #dcdcde;border-top:none;background:#fff;padding:0 16px 8px;}
		.care-admin-panel.is-active{display:block;}
		.care-repeater{max-width:520px;}
		.care-repeater-row{display:flex;flex-wrap:wrap;align-items:center;gap:6px;margin-bottom:6px;}
		.care-repeater-row input[type="text"]{flex:1 1 160px;min-width:0;}
		.care-repeater-row-service{align-items:flex-start;}
		.care-repeater-contacts{max-width:760px;}
		.care-repeater-row-contact{align-items:center;}
		.care-repeater-row-contact select{flex:0 0 auto;}
		.care-repeater-row-contact input[type="text"]{flex:1 1 120px;}
		.care-weekday-checks{display:flex;flex-wrap:wrap;gap:2px 8px;flex:2 1 240px;font-size:13px;}
		.care-weekday-checks label{display:inline-flex;align-items:center;gap:2px;white-space:nowrap;}
		.care-repeater-remove{flex:0 0 auto;width:26px;height:26px;line-height:1;border:1px solid #c0392b;border-radius:4px;background:#fff;color:#c0392b;cursor:pointer;font-size:15px;}
		.care-repeater-remove:hover{background:#c0392b;color:#fff;}
		.care-repeater-add{margin-top:2px;padding:4px 12px;font-size:12.5px;border:1px solid #2b6cb0;border-radius:4px;background:#fff;color:#2b6cb0;cursor:pointer;}
		.care-repeater-add:hover{background:#2b6cb0;color:#fff;}
		.care-field-label{display:block;font-weight:600;margin-bottom:2px;}
	

/* ===== residents-page.php ===== */
		.care-request-modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);align-items:center;justify-content:center;z-index:99998;padding:16px;box-sizing:border-box;}
		.care-request-modal-overlay.is-open{display:flex;}
		.care-request-modal-box{background:#fff;border-radius:10px;padding:22px 24px;max-width:380px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 8px 28px rgba(0,0,0,.28);position:relative;box-sizing:border-box;}
		.care-request-modal-box *{box-sizing:border-box;}
		.care-request-modal-box h3{margin:0 0 10px 0 !important;font-size:16px;}
		.care-request-modal-box .care-field{margin-bottom:12px;}
	

/* ===== residents-page.php ===== */
		.care-ledger-table th,.care-ledger-table td{vertical-align:top;}
		.care-th-line{display:block;}
		.care-ledger-room-name-cell{box-sizing:content-box !important;width:8.5em;max-width:8.5em;word-break:break-all;}
		.care-ledger-room{color:#c0392b;font-weight:bold;font-size:12.5px;}
		.care-ledger-name{margin-top:2px;}
		/* 「情報」の下に「編集」。右に罫線を引いて申し送りと区切る(1.76.0) */
		.care-ledger-info-cell{width:1%;white-space:nowrap;text-align:center;border-right:1px solid #cfd6d2 !important;padding-right:10px !important;}
		.care-ledger-info-cell .care-info-open-btn,
		.care-ledger-info-cell .care-care-edit-btn{display:block;width:64px;margin:0 auto;box-sizing:border-box;text-align:center;}
		.care-ledger-info-cell .care-care-edit-btn{margin-top:6px;}
		.care-ledger-handover-cell{padding-left:12px !important;}
		.care-care-edit-btn{display:inline-block;margin-left:0.5em;padding:2px 8px;font-size:11px;line-height:1.6;border:1px solid #3d6a5c;border-radius:4px;background:#fff;color:#3d6a5c;text-decoration:none;}
		.care-care-edit-btn:hover{background:#3d6a5c;color:#fff;}
		/* 操作(編集・非表示)は縦に並べる。 */
		.care-ledger-actions-cell a{display:block;}
		/* 名前の下:最後の排尿・排便・バルーン交換・ストマ交換の日
		   (ラベルごとリンクにして、指でも押しやすい大きさにする) */
		.care-ledger-room-name-cell{min-width:170px;}
		.care-ledger-marks{display:flex;flex-wrap:wrap;gap:2px 10px;margin-top:3px;}
		.care-ledger-mark{display:inline-flex;align-items:baseline;gap:3px;font-size:12px;color:#666;line-height:1.4;white-space:nowrap;text-decoration:none;}
		/* 排便: 出ていない日数で黄色・赤(利用者ごとに設定) */
		.care-ledger-mark.is-stool-yellow{background:#fff3c4;border-radius:8px;padding-left:6px;padding-right:6px;}
		.care-ledger-mark.is-stool-yellow .care-ledger-mark-date{color:#7a5a00;font-weight:700;}
		.care-ledger-mark.is-stool-red{background:#fde3df;border-radius:8px;padding-left:6px;padding-right:6px;}
		.care-ledger-mark.is-stool-red .care-ledger-mark-date{color:#a3341f;font-weight:700;}
		.care-ledger-mark-label{color:#777;font-size:11.5px;}
		.care-ledger-mark-date{color:#2b6cb0;font-weight:700;}
		a.care-ledger-mark:hover .care-ledger-mark-date{text-decoration:underline;}
		span.care-ledger-mark .care-ledger-mark-date{color:#666;}
		.care-ledger-handover-cell{white-space:normal;}
		.care-ledger-handover-empty{color:#999;}
		.care-ledger-handover-line{margin-bottom:4px;}
		.care-ledger-handover-line:last-child{margin-bottom:0;}
		.care-ledger-handover-time{font-weight:600;color:#3d6a5c;margin-right:4px;}
		/* 当日は「当」、前日は「前」を丸で表示(勤務シフトに合わせて前日9時からの分を出している) */
		.care-day-mark{
			display:inline-block;width:1.5em;height:1.5em;line-height:1.45em;margin-right:5px;
			border-radius:50%;border:1.5px solid #c0392b;color:#c0392b;background:#fff;
			font-size:11px;font-weight:700;text-align:center;vertical-align:middle;
		}
		/* 当日は赤、前日はオレンジ。 */
		.care-day-mark.is-prev{border-color:#e08a00;color:#e08a00;}
		.care-ledger-actions-cell{white-space:nowrap;}
		.care-important-col-tag{display:inline-block;padding:1px 7px;margin-right:4px;border:1.5px solid #c0392b;border-radius:4px;background:#c0392b;color:#fff;font-size:11px;font-weight:700;}

		.care-info-open-btn{padding:2px 8px;font-size:11px;line-height:1.6;border:1px solid #2b6cb0;border-radius:4px;background:#fff;color:#2b6cb0;cursor:pointer;}
		.care-info-open-btn:hover{background:#2b6cb0;color:#fff;}

		/* ---- スマホ幅(480px以下):tr自体をgridにして組み替える ----
		   1行目:「居室+名前」「情報(2行分の高さ)」「編集・非表示」を横一列に、
		   2行目:申し送りを幅いっぱいに使って表示する。 */
		@media (max-width:480px){
			.care-ledger-table thead{display:none;}
			.care-ledger-table,.care-ledger-table tbody{display:block;width:100%;}
			/* 1人目の上にも罫線を入れて、どこからが一覧か分かるようにする */
			.care-ledger-table tbody tr:first-child{border-top:1px solid #e2e2e2;}
			.care-ledger-table tr{
				display:grid;
				/* 「情報」「編集」ボタンは右寄せ。名前の列が余白を吸うので、
				   どの行でもボタンの位置(右端)がそろう。 */
				grid-template-columns:1fr auto auto;
				grid-template-areas:"name info actions" "marks marks marks" "handover handover handover";
				column-gap:8px;
				row-gap:4px;
				width:100%;
				padding:10px 12px;
				border-bottom:1px solid #e2e2e2;
				box-sizing:border-box;
			}
			.care-ledger-table td{border:none !important;padding:0 !important;}
			/* 名前セルの中身(名前ブロック/最終排泄)を、そのまま行のグリッドに並べる */
			.care-ledger-room-name-cell{display:contents;}
			.care-ledger-name-block{grid-area:name;min-width:0;}
			/* スマホでは「情報」「編集」を横に並べる(1.76.1。PCは縦並び＋右の罫線)。 */
			.care-ledger-info-cell{
				grid-area:info;width:auto;align-self:center;justify-self:end;
				display:flex;flex-direction:row;align-items:center;gap:6px;
				border-right:0 !important;padding-right:0 !important;
			}
			.care-ledger-info-cell .care-info-open-btn,
			.care-ledger-info-cell .care-care-edit-btn{
				display:inline-block;width:auto;height:auto;min-width:64px;padding:9px 10px;font-size:13.5px;line-height:1.4;
				text-align:center;box-sizing:border-box;margin:0;
			}
			.care-ledger-actions-cell{grid-area:actions;font-size:12.5px;text-align:right;align-self:center;white-space:nowrap;justify-self:end;line-height:1.9;}

			.care-ledger-handover-cell{grid-area:handover;min-width:0;margin-top:2px;}
			/* スマホでは老眼でも読みやすいよう、一覧の文字も大きめにする。 */
			.care-ledger-table td{font-size:15px;}
			.care-ledger-room{font-size:14px;}
			.care-ledger-name{font-size:16.5px;}
			/* 最終の排尿・排便などは、名前の下に横一列(枠は付けない)。
			   画面に入りきらないときだけ折り返す。 */
			.care-ledger-marks{grid-area:marks;display:flex;flex-wrap:wrap;gap:2px 14px;margin-top:2px;min-width:0;}
			.care-ledger-mark{padding:4px 0;font-size:14px;}
			.care-ledger-mark-label{font-size:13px;}
			.care-ledger-mark-date{font-size:15px;}
			.care-ledger-handover-line{font-size:14.5px;}
			.care-day-mark{font-size:12px;width:1.6em;height:1.6em;line-height:1.55em;}
		}

		.care-info-modal-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:rgba(0,0,0,.45);align-items:center;justify-content:center;z-index:99998;padding:16px;box-sizing:border-box;}
		.care-info-modal-overlay.is-open{display:flex;}
		.care-info-modal-box{background:#fff;border-radius:10px;padding:22px 24px;max-width:620px;width:100%;max-height:88vh;overflow-y:auto;box-shadow:0 8px 28px rgba(0,0,0,.28);position:relative;box-sizing:border-box;}
		.care-info-modal-box *{box-sizing:border-box;}
		.care-info-modal-close{position:absolute;top:10px;right:12px;border:none;background:none;font-size:22px;line-height:1;cursor:pointer;color:#888;padding:4px;}
		.care-info-modal-close:hover{color:#333;}
		.care-info-modal-box h3{margin:0 !important;font-size:17px;line-height:1.4;}
		/* 見出し:左上にプロフィール写真、その右に名前と居室・介護度。 */
		.care-info-modal-head{display:flex;align-items:center;gap:18px;margin:0 0 16px 0;padding-right:28px;}
		.care-info-photo-btn{flex:0 0 auto;padding:0;margin:0;border:none;background:none;line-height:0;cursor:pointer;border-radius:50%;}
		.care-info-photo-btn:hover{opacity:.85;}
		.care-info-modal-heading{min-width:0;}
		.care-info-modal-sub{margin:2px 0 0 !important;font-size:12.5px;color:#777;}
		/* 氏名の途中で改行されないようにする(「さんの情報」だけが次の行に回る)。 */
		.care-info-modal-name{white-space:nowrap;}
		.care-info-modal-suffix{white-space:nowrap;font-weight:normal;font-size:.9em;color:#555;}

		/* スマホでは、老眼でも読めるように文字を全体的に大きくする。 */
		@media (max-width:480px){
			.care-info-modal-box{padding:18px 16px;}
			.care-info-modal-head{gap:12px;}
			.care-info-modal-head .care-face-thumb{width:104px !important;height:104px !important;line-height:104px !important;font-size:44px !important;}
			.care-info-modal-box h3{font-size:17px;}
			.care-info-modal-sub{font-size:14px;}

			.care-info-modal-table th,.care-info-modal-table td{padding:10px 8px;font-size:15.5px;}
			.care-info-modal-table th{font-size:15px;}
			.care-info-sub{font-size:13.5px;}
			.care-info-expiry-soon{color:#c0392b !important;font-weight:600;}
		.care-info-copay-tag{font-size:13px;}
			.care-info-modal-note{font-size:14px;}
			.care-info-modal-record-btn{font-size:15.5px;padding:12px 10px;}
			.care-info-empty{font-size:14.5px;}
			.care-comm-meta{font-size:13px !important;}
			.care-comm-body{font-size:15px !important;}
			.care-prep-check{font-size:15px;}
		}
		.care-contact-type{display:inline-block;padding:2px 10px;border-radius:4px;border:1px solid #8a949c;color:#6b757c;font-size:12.5px;font-weight:600;}
		.care-contact-type-emergency{border-color:#c0392b;color:#c0392b;}
		.care-contact-type-family{border-color:#2b6cb0;color:#2b6cb0;}
		/* 連絡記録:相手の頭文字を丸で囲んだ印(職・家・ケ・医・業・他) */
		.care-party-mark{
			display:inline-flex;align-items:center;justify-content:center;
			width:1.5em;height:1.5em;margin-right:3px;border:1px solid #3d6a5c;border-radius:50%;
			color:#3d6a5c;font-size:.92em;font-weight:700;line-height:1;vertical-align:middle;
		}
		.care-contact-type-cm,
		.care-contact-type-care_manager{border-color:#3d6a5c;color:#3d6a5c;}
		.care-contact-type-medical{border-color:#8e44ad;color:#8e44ad;}
		.care-contact-type-vendor{border-color:#b8860b;color:#b8860b;}
		@media (max-width:480px){
			.care-contact-type{font-size:13px;padding:3px 11px;}
		}
		.care-contact-name{font-weight:600;color:#333;}
		.care-info-tabs{display:flex;flex-wrap:wrap;gap:2px 6px;margin:0 0 12px 0;border-bottom:1px solid #e2e2e2;}
		.care-info-tab{flex:1 1 auto;min-width:0;padding:10px 8px;font-size:15px;border:none;background:none;color:#888;cursor:pointer;border-bottom:2px solid transparent;margin-bottom:-1px;white-space:nowrap;}
		@media (max-width:480px){
			.care-info-modal-box{padding:18px 16px;}
			.care-info-tabs{gap:2px 6px;}
			/* 文字を大きくするため、2段に折り返してよい。 */
			.care-info-tab{font-size:15px;padding:10px 6px;flex:1 1 30%;}
			.care-info-modal-head{gap:12px;}
			.care-info-modal-box h3{font-size:15px;}
		}
		.care-info-tab.is-active{color:#3d6a5c;font-weight:700;border-bottom-color:#3d6a5c;}
		.care-info-tab-panel{display:none;}
		.care-info-tab-panel.is-active{display:block;}
		.care-info-modal-table{width:100%;border-collapse:collapse;font-size:13px;}
		.care-info-modal-table th,.care-info-modal-table td{padding:7px 8px;border-bottom:1px solid #eee;text-align:left;}
		.care-info-modal-table th{color:#666;font-weight:600;width:38%;white-space:nowrap;}
		.care-info-sub{color:#888;font-size:11.5px;}
		.care-info-pre{white-space:pre-line;}
		.care-info-copay-tag{display:inline-block;margin-left:6px;padding:1px 7px;border:1px solid #2b6cb0;border-radius:4px;color:#2b6cb0;font-size:11px;}
		.care-info-modal-actions{margin:14px 0 0 0 !important;}
		.care-info-modal-record-btn{width:100%;padding:8px 10px;font-size:13px;border:1px solid #3d6a5c;border-radius:6px;background:#fff;color:#3d6a5c;cursor:pointer;}
		.care-info-modal-record-btn:hover{background:#3d6a5c;color:#fff;}
		.care-info-modal-note{margin:12px 0 0 0 !important;font-size:12.5px;color:#666;}
	

/* ===== self-check.php ===== */
		.care-dev-notes{
			white-space:pre-wrap;word-break:break-word;
			background:#fff;border:1px solid #c3c4c7;padding:14px 18px;
			max-width:980px;max-height:70vh;overflow:auto;
			font-family:"Hiragino Kaku Gothic ProN","Meiryo",monospace;
			font-size:13px;line-height:1.7;
		}
	

/* ===== shift-codes.php ===== */
			/* 2.0.1: 列が多くて「名称」がつぶれていたので、幅を決めて横スクロールにした */
			.care-shift-codes-scroll{overflow-x:auto;padding-bottom:6px;}
			.care-shift-codes-table{min-width:1300px;}
			.care-shift-codes-table th{white-space:nowrap;}
			.care-shift-codes-table input[type="text"]{min-width:60px;}
		

/* ===== shift-publish.php ===== */
		.care-ack-overlay{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:99997;padding:16px;}
		.care-ack-box{background:#fff;border-radius:10px;padding:20px;width:100%;max-width:420px;max-height:86vh;overflow-y:auto;box-shadow:0 8px 28px rgba(0,0,0,.3);}
		.care-ack-box h3{margin:0 0 8px !important;font-size:18px;}
		.care-ack-note{margin:0 0 12px !important;font-size:13px;color:#666;}
		.care-ack-list{border:1px solid #e2e4e7;border-radius:8px;overflow:hidden;margin-bottom:14px;}
		.care-ack-row{display:flex;align-items:center;gap:10px;padding:7px 10px;border-bottom:1px solid #f0f0f0;font-size:15px;}
		.care-ack-row:last-child{border-bottom:none;}
		.care-ack-row.is-check{background:#fff4e5;}
		.care-ack-date{flex:0 0 88px;font-weight:600;}
		.care-ack-code{flex:1 1 auto;font-weight:700;}
		.care-ack-flag{flex:0 0 auto;font-size:11px;color:#b25f00;border:1px solid #e0a45f;border-radius:4px;padding:1px 5px;}
		.care-ack-empty{margin:0 !important;padding:10px;font-size:14px;color:#888;}
		.care-ack-actions{display:flex;gap:8px;flex-wrap:wrap;}
	

/* ===== shift-requests.php ===== */
		.care-shift-submitted{background:#eef6f1;border:1px solid #cfe3d8;border-radius:6px;padding:8px 12px;font-size:14px;}
		.care-shift-locked{background:#fdecea;border:1px solid #f0b6ae;border-radius:6px;padding:10px 12px;font-size:14px;color:#a5311f;font-weight:600;}
		/* ロック中は入力できないようにする */
		.care-wish-proxy-pick{display:inline-flex;align-items:center;gap:6px;font-size:13px;}
		.care-wish-proxy-pick select{max-width:11em;padding:6px 8px;border:1px solid #bbb;border-radius:6px;background:#fff;}
		.care-wish-proxy-banner{margin:10px 0;padding:10px 12px;border-radius:8px;background:#fff5e0;border:1px solid #e8c583;font-weight:600;}
		.care-wish-form.is-locked .care-shift-palette,
		.care-wish-form.is-locked .care-wish-month-row{opacity:.5;pointer-events:none;}
		.care-wish-form.is-locked .care-shift-cell{cursor:not-allowed;}
		.care-wish-form.is-locked .care-btn[disabled]{opacity:.45;cursor:not-allowed;}
		.care-wish-form .care-shift-th-name{left:0;min-width:96px;}
		.care-wish-form .care-shift-cell{height:34px;}
		.care-wish-form .care-shift-cell-text{font-size:14px;}
		.care-wish-form .care-shift-scroll{max-height:none !important;overflow:visible;}
		/* 「時間を決めて入力」は1行に収める(記号の幅を詰める) */
		.care-wish-form .care-shift-time-row2{flex-wrap:nowrap;}
		.care-wish-form .care-shift-free-code{flex:0 1 auto;max-width:130px;min-width:0;}
		.care-wish-form .care-shift-free-start,
		.care-wish-form .care-shift-free-end{flex:0 0 auto;min-width:0;}
		.care-wish-month-row{margin-top:8px;padding-top:8px;border-top:1px dashed #dcdcde;display:flex;flex-wrap:wrap;align-items:center;gap:8px;}
		.care-wish-month-row select{padding:7px 8px;font-size:14px;border:1px solid #ccc;border-radius:6px;}
		.care-wish-month-note{flex:1 1 220px;padding:7px 8px;font-size:14px;border:1px solid #ccc;border-radius:6px;}
		.care-shift-chip-note{background:#fff;color:#c0392b;border-color:#c0392b;}
		/* メモが入っている日は右上角を赤くする */
		.care-shift-cell.has-note::after{content:"";position:absolute;top:0;right:0;border-width:0 8px 8px 0;border-style:solid;border-color:transparent #c0392b transparent transparent;}
		.care-wish-summary{display:flex;flex-wrap:wrap;gap:8px 18px;margin:10px 0 0;padding:10px 12px;border:1px solid #dcdcde;border-radius:8px;background:#fafafa;font-size:14px;}
		.care-wish-summary b{font-size:17px;color:#3d6a5c;margin:0 2px;}
		#care-wish-note-text{width:100%;padding:10px;font-size:15px;border:1px solid #ccc;border-radius:6px;box-sizing:border-box;}
		.care-wish-daylabel{display:none;}
		/* スマホは1日1行の縦並び(入力のしかたはシフト表と同じ) */
		@media (max-width:700px){
			.care-wish-form .care-shift-chip{min-width:52px;padding:10px 12px;font-size:16px;}
			.care-wish-summary{font-size:13.5px;}
			.care-wish-form .care-shift-scroll{border:none;overflow:visible;max-height:none !important;}
			.care-wish-form .care-shift-time-row2{flex-wrap:wrap;}
			.care-wish-form .care-shift-break-label{white-space:nowrap;}
			.care-wish-form .care-shift-free-code{max-width:104px;font-size:13px;padding:6px 4px;}
			.care-wish-form .care-shift-free-start,
			.care-wish-form .care-shift-free-end{font-size:13px;padding:6px 4px;}
			.care-wish-form .care-shift-free-label{font-size:12.5px;}
			.care-wish-form .care-shift-free-sep{font-size:12px;}
			.care-wish-form .care-shift-table,
			.care-wish-form .care-shift-table tbody,
			.care-wish-form .care-shift-table tr{display:block;width:100%;}
			.care-wish-form .care-shift-table thead{display:none;}
			.care-wish-form .care-shift-th-name{display:none;}
			.care-wish-form .care-shift-cell{
				display:flex;align-items:center;gap:10px;width:100%;height:48px;
				border:1px solid #e2e4e7;border-radius:8px;margin-bottom:5px;padding:0 12px;box-sizing:border-box;
			}
			.care-wish-form .care-wish-daylabel{display:inline-flex;align-items:baseline;gap:3px;flex:0 0 96px;font-size:16px;font-weight:700;color:#333;}
			.care-wish-form .care-wish-daylabel small{font-size:13px;color:#666;font-weight:400;}
			.care-wish-form .care-wish-daylabel em{font-size:11px;color:#c0392b;font-style:normal;}
			.care-wish-form .care-shift-cell-text{font-size:19px;text-align:left;}
			.care-wish-form .care-shift-cell.has-note::after{border-width:0 12px 12px 0;}
		}
	

/* ===== shift-requests.php ===== */
		.care-wish-proxy-link{display:inline-block;margin-left:5px;padding:0 5px;border:1px solid #bbb;border-radius:4px;background:#fff;color:#555;font-size:11px;line-height:16px;text-decoration:none;font-weight:400;}
		.care-wish-proxy-link:hover{background:#f0f0f0;}
	

/* ===== shift-schedule.php ===== */
		.care-shift-head{display:flex;flex-wrap:wrap;align-items:center;justify-content:space-between;gap:10px;margin-bottom:10px;}
		.care-shift-month-nav{display:flex;align-items:center;gap:10px;}
		.care-shift-month-nav h2{margin:0 !important;font-size:19px;}
		.care-shift-head-links{display:inline-flex;gap:8px;flex-wrap:wrap;align-items:center;margin-left:14px;}
		.care-shift-head-links .care-btn{padding:7px 14px;font-size:13px;}
		.care-shift-head-links .care-shift-publish-all{padding:8px 14px;font-size:13px;font-weight:600;}
		@media (max-width:700px){ .care-shift-head-links{margin-left:0;} }
		.care-btn.care-btn-wish{background:linear-gradient(180deg,#5b8fbc 0%,#4a7ba7 100%);}

		.care-shift-toolbar{border:1px solid #dcdcde;border-radius:8px;padding:10px 12px;margin-bottom:10px;background:#fafafa;position:sticky;top:0;z-index:20;}
		.care-shift-modes{display:flex;gap:8px;margin-bottom:8px;flex-wrap:wrap;}
		.care-shift-mode{padding:8px 14px;border:1px solid #3d6a5c;border-radius:6px;background:#fff;color:#3d6a5c;font-size:14px;font-weight:600;cursor:pointer;}
		.care-shift-mode.is-on{background:#3d6a5c;color:#fff;}
		.care-shift-palette{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
		.care-shift-chip{min-width:44px;padding:8px 10px;border:1px solid #bbb;border-radius:6px;font-size:14px;font-weight:700;cursor:pointer;line-height:1.2;}
		.care-shift-chip.is-on{outline:3px solid #c0392b;outline-offset:1px;}
		.care-shift-chip-erase{background:#fff;color:#888;}
		.care-shift-fill-off{min-width:44px;padding:8px 12px;border:1px solid #3d6a5c;border-radius:6px;background:#fff;color:#3d6a5c;font-size:13.5px;font-weight:600;cursor:pointer;}
		.care-shift-fill-off.is-on{background:#3d6a5c;color:#fff;}
		/* 「空白を休にする」を押したあとは、名前が押せることが分かるようにする */
		.care-shift-form.is-filling .care-shift-th-name{cursor:pointer;outline:2px dashed #3d6a5c;outline-offset:-2px;}
		.care-shift-palette-time{display:block;margin-top:8px;padding-top:8px;border-top:1px dashed #dcdcde;}
		.care-shift-time-row1{display:flex;flex-wrap:wrap;align-items:center;gap:10px;margin-bottom:6px;}
		.care-shift-time-row2{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
		.care-shift-free-label{font-size:13px;color:#555;font-weight:600;}
		.care-shift-free-code{padding:7px 8px;font-size:14px;border:1px solid #ccc;border-radius:6px;}
		.care-shift-free-start,.care-shift-free-end{padding:6px 8px;font-size:14px;border:1px solid #ccc;border-radius:6px;}
		.care-shift-free-sep{color:#666;}
		.care-shift-break-label{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#555;}
		.care-shift-free-break,#care-shift-time-break{padding:6px 8px;font-size:14px;border:1px solid #ccc;border-radius:6px;}
		.care-shift-chip-time{background:#fff;}
		.care-shift-hint{margin:8px 0 0 !important;font-size:12.5px;color:#666;}

		.care-shift-view-toggles{display:flex;flex-wrap:wrap;gap:8px;margin-top:8px;}
		/* 折りたたみ(その他の道具)。1.95.0 */
		.care-shift-more{margin-top:8px;}
		.care-shift-more-sum{cursor:pointer;font-size:13px;color:#3d6a5c;font-weight:600;padding:3px 0;list-style:none;}
		.care-shift-more-sum::-webkit-details-marker{display:none;}
		.care-shift-more-sum::before{content:"▶ ";font-size:11px;}
		.care-shift-more[open] > .care-shift-more-sum::before{content:"▼ ";}
		.care-shift-more[open] > .care-shift-more-sum{border-bottom:1px dashed #dcdcde;margin-bottom:4px;}
		.care-shift-more .care-shift-palette-time{border-top:none;margin-top:4px;padding-top:0;}
		/* 「保存する」は記号の列の右端。狭い画面では折り返して右に寄せる */
		.care-shift-palette > .care-shift-savebar,.care-shift-modes > .care-shift-savebar{margin-left:auto;}
		.care-shift-toggle,.care-shift-apply-wishes{padding:6px 12px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#555;font-size:13px;cursor:pointer;}
		.care-shift-toggle.is-on{border-color:#3d6a5c;background:#eef4f1;color:#3d6a5c;font-weight:600;}
		.care-shift-apply-wishes{border-color:#2b6cb0;color:#2b6cb0;}

		/* 1か月ぶん(31日)が1画面に収まるように、列を細く詰めて表示する */
		.care-shift-scroll{overflow:auto;max-height:75vh;border:1px solid #dcdcde;border-radius:6px;background:#fff;}
		.care-shift-table{border-collapse:separate;border-spacing:0;font-size:12px;width:100%;table-layout:fixed;}
		.care-shift-table th,.care-shift-table td{border-right:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;padding:1px 2px;text-align:center;white-space:nowrap;overflow:hidden;}
		.care-shift-table thead th{position:sticky;top:0;z-index:3;background:#f2f5f4;font-size:11px;line-height:1.2;padding:3px 1px;}
		.care-shift-table thead th small{font-size:10px;color:#666;font-weight:400;}
		/* 左の3列は、貼りつく位置(left:0 / 42 / 66)を決め打ちしているので、
		   幅がつぶれたり、線と余白のぶん広がったりすると重なって読めなくなる。
		   box-sizing で「書いた幅＝実際の幅」にそろえ、最小・最大も同じにして固定する(1.98.0) */
		.care-shift-th-dept,.care-shift-th-emp,.care-shift-th-name{box-sizing:border-box;}
		/* 「施設補助」が入るよう、職種の列は52pxにした(1.98.0) */
		.care-shift-th-dept{position:sticky;left:0;z-index:2;background:#f7f7f7;width:52px;min-width:52px;max-width:52px;font-size:11.5px;}
		.care-shift-th-emp{position:sticky;left:52px;z-index:2;background:#f7f7f7;width:24px;min-width:24px;max-width:24px;font-size:11.5px;color:#666;}
		.care-shift-th-name{position:sticky;left:76px;z-index:2;background:#fff;width:88px;min-width:88px;max-width:88px;font-weight:600;padding-left:5px !important;overflow:hidden;text-overflow:ellipsis;}
		/* 名前は左詰め(上の「マスは中央ぞろえ」に負けるので、ここで勝てる書き方にする。1.95.0) */
		.care-shift-table th.care-shift-th-name{text-align:left;}
		/* 名前を上下にドラッグして、並び順を変えるためのつまみ */
		.care-shift-th-name.has-grip{padding-left:15px !important;}
		.care-shift-grip{
			position:absolute;left:1px;top:0;bottom:0;width:13px;
			display:flex;align-items:center;justify-content:center;
			color:#bbb;font-size:10px;letter-spacing:-2px;line-height:1;
			cursor:grab;touch-action:none;user-select:none;-webkit-user-select:none;
		}
		.care-shift-grip:hover{color:#3d6a5c;background:#eef5f2;}
		.care-shift-row.is-rowdrag{opacity:.65;}
		.care-shift-row.is-rowdrag .care-shift-th-name,
		.care-shift-row.is-rowdrag .care-shift-th-dept,
		.care-shift-row.is-rowdrag .care-shift-th-emp{background:#e4f0ea !important;}
		.care-shift-row.is-rowdrag td,.care-shift-row.is-rowdrag th{box-shadow:0 0 0 1px #3d6a5c inset;}
		.care-shift-sortstaff{padding:6px 12px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#555;font-size:13px;cursor:pointer;font-family:inherit;}
		.care-shift-table thead .care-shift-th-dept,.care-shift-table thead .care-shift-th-emp,.care-shift-table thead .care-shift-th-name{z-index:4;background:#f2f5f4;}
		/* 画面を狭めても、日にちと曜日(1火)が読める幅は残す。
		   はみ出したぶんは、表の上に貼りつく横スクロールバーで動かす(1.97.0) */
		/* 1日から31日までが、いつでも1画面に収まるようにする(2.0.4)。
		   日にちの列は「余った幅を等分」(table-layout:fixed)。
		   画面が狭いときだけ、表に最小の幅を持たせて横スクロールにする。 */
		.care-shift-day{width:auto;min-width:0;}
		.care-shift-table td.care-shift-cell{min-width:0;}
		.care-shift-table{table-layout:fixed;width:100%;}
		.care-shift-cell-text{letter-spacing:-0.4px;}
		body.care-wide .care-shift-cell-text{letter-spacing:-0.6px;}
		body.care-wide .care-shift-cell-text.is-long{font-size:8px;}
		.care-shift-cell{height:24px;cursor:default;font-weight:600;position:relative;}
		.care-shift-cell-text{display:block;font-size:11.5px;letter-spacing:-0.3px;}
		/* 「B9:30-15:30」のような長い表示は、列幅に収まるよう小さくする */
		.care-shift-cell-text.is-long{font-size:8.5px;letter-spacing:-0.5px;}
		/* 職員が出した希望の下書き(薄く表示。まだ入っていないマスだけ) */
		.care-shift-cell-wish{position:absolute;inset:0;display:flex;align-items:center;justify-content:center;font-size:11px;color:#9bb7d4;font-weight:600;pointer-events:none;}
		/* 勤務が入ったマスでは、希望の下書きは消す */
		.care-shift-cell:not([data-code="0"]) .care-shift-cell-wish,
		.care-shift-cell[data-text]:not([data-text=""]) .care-shift-cell-wish{display:none;}

		/* 「職種・正パ」「集計」の表示切り替え */
		.care-shift-form.is-hide-dept .care-shift-th-dept,
		.care-shift-form.is-hide-dept .care-shift-th-emp{display:none;}
		.care-shift-form.is-hide-dept .care-shift-th-name{left:0;}
		.care-shift-form.is-hide-sums .care-shift-sum{display:none;}
		/* 職員の表示/非表示(2.0.9)。職種のところの小さな▶で、その人を隠す */
		.care-shift-table tbody .care-shift-th-dept{padding-left:11px !important;}
		.care-shift-rowhide{
			position:absolute;left:0;top:0;bottom:0;width:11px;padding:0;
			display:flex;align-items:center;justify-content:center;
			border:0;background:transparent;color:#c8d2ce;font-size:8px;line-height:1;
			cursor:pointer;font-family:inherit;
		}
		.care-shift-rowhide:hover{background:#eef4f1;color:#3d6a5c;}
		.care-shift-row.is-hidden,.care-shift-sumrow.is-hidden{display:none;}
		.care-shift-staffshow{padding:6px 12px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#555;font-size:13px;cursor:pointer;font-family:inherit;}
		.care-shift-staffshow.is-on{border-color:#e0a45f;background:#fdf3e7;color:#a05e12;font-weight:600;}
		.care-shift-staff-acts{display:flex;gap:8px;margin-bottom:10px;}
		.care-shift-staff-list{max-height:46vh;overflow:auto;border:1px solid #e4e4e4;border-radius:8px;padding:6px 8px;margin-bottom:14px;}
		.care-shift-staff-dept{margin:6px 0 2px;font-size:12px;font-weight:700;color:#3d6a5c;}
		.care-shift-staff-item{display:block;font-size:14px;padding:3px 2px;}
		.care-shift-staff-item input{width:17px;height:17px;margin-right:6px;vertical-align:-3px;}

		/* 集計の行の見出しは、左の端から3列ぶんを使う(2.0.1)。長い名前(介B＋看B など)も読める */
		.care-shift-th-wide{
			position:sticky;left:0;z-index:2;box-sizing:border-box;
			width:164px;min-width:164px;max-width:164px;
			background:#f7f7f7;text-align:left !important;font-weight:600;
			padding-left:5px !important;padding-right:18px !important;
			overflow:hidden;text-overflow:ellipsis;
		}
		.care-shift-form.is-hide-dept .care-shift-th-wide{width:88px;min-width:88px;max-width:88px;}
		/* 集計の行を1行ずつ隠す×(1.98.0) */
		/* 長い見出しでも折り返さないよう、マスの右に重ねて置く */
		.care-shift-foot .care-shift-th-name{padding-right:18px !important;}
		/* 集計のマスを押すと、オレンジ → 赤 → もとに戻る(気になる日に印を付けるため。2.0.1) */
		.care-shift-count{cursor:pointer;}
		.care-shift-count.is-mark1{background:#e8871a !important;color:#fff !important;font-weight:700;}
		.care-shift-count.is-mark2{background:#c0392b !important;color:#fff !important;font-weight:700;}
		.care-shift-foothide{
			position:absolute;right:2px;top:50%;transform:translateY(-50%);
			padding:0 4px;border:1px solid #e0e0e0;border-radius:4px;
			background:#fff;color:#bbb;font-size:10px;line-height:14px;cursor:pointer;font-family:inherit;
		}
		.care-shift-foothide:hover{background:#fdecea;border-color:#e0a19b;color:#b3261e;}
		.care-shift-foot.is-hidden{display:none;}
		.care-shift-footshow{padding:6px 12px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#555;font-size:13px;cursor:pointer;font-family:inherit;}
		.care-wd-0,.is-holiday{background:#fff2f2;}
		.care-shift-table thead th.is-holiday{color:#c0392b;}
		.care-shift-holiday-name{font-size:12px;color:#c0392b;}
		.care-shift-day-date.is-holiday{color:#c0392b;}
		.care-wd-6{background:#f1f6ff;}
		.care-shift-cell.is-actual::after{content:"";position:absolute;left:50%;top:50%;width:20px;height:20px;margin:-10px 0 0 -10px;border:2px solid #c0392b;border-radius:50%;pointer-events:none;}
		.care-shift-row.is-me .care-shift-th-name{background:#fdf6e3;}
		/* シフトを展開中(本人の確認待ち)は名前を青く塗る。
		   3.2.0: 確認が済んだら白に戻していたが、それでは
		   「まだ展開していない」のと見分けが付かなかった。
		   確認済みは緑にして、左に✓を出す。 */
		.care-shift-th-name.is-published{background:#2b6cb0 !important;color:#fff;cursor:pointer;}
		.care-shift-th-name.is-acked{
			background:#e3f2e8 !important;color:#1e5b2a;cursor:pointer;
			box-shadow:inset 3px 0 0 #3d8f5c;
		}
		.care-shift-th-name.is-acked::after{content:"✓";margin-left:4px;font-size:11px;color:#3d8f5c;font-weight:700;}
		/* 自分の行の色より、展開・確認の色を優先する */
		.care-shift-row.is-me .care-shift-th-name.is-acked{background:#e3f2e8 !important;}
		/* 本人に要確認のマスはオレンジ */
		.care-shift-cell.needs-check{background:#ffb74d !important;}
		.care-shift-check-row{margin:10px 0 0 !important;font-size:14px;}
		/* 3.2.0: 「LINEで展開する」のときの送り方 */
		.care-shift-pub-line{margin:8px 0 2px !important;font-size:13px;}
		/* 3.2.1: 送る前に見る勤務表 */
		.care-shift-pub-prev{
			margin:10px 0;padding:8px;border:1px solid #ddd;border-radius:8px;background:#fafafa;text-align:center;
		}
		.care-shift-pub-prevhead{margin:0 0 6px !important;font-size:12px;font-weight:700;color:#555;}
		.care-shift-pub-prev img{
			display:block;max-width:100%;max-height:44vh;margin:0 auto;
			border:1px solid #ccc;border-radius:4px;background:#fff;
		}
		.care-shift-pub-preverr{margin:8px 0 !important;font-size:12.5px;color:#b3261e;}
		.care-shift-pub-prevfoot{margin:6px 0 0 !important;font-size:12px;}
		.care-shift-pub-prevfoot a{font-weight:700;}
		.care-shift-pub-prevfoot small{display:block;margin-top:3px;color:#777;font-size:11px;line-height:1.6;}
		.care-shift-pub-h{margin:10px 0 4px !important;font-size:12px;font-weight:700;color:#555;}
		/* 3.2.3: 画像が作れないときの案内 */
		.care-shift-pub-nofont{
			margin:10px 0 !important;padding:8px 10px;border:1px solid #f0c7c2;border-radius:8px;
			background:#fdecea;color:#8f1d18;font-size:12.5px;line-height:1.8;
		}
		.care-shift-pub-nofont code{background:#fff;padding:1px 4px;border-radius:3px;font-size:11.5px;}
		/* 展開の窓は、勤務表を出すぶん少し広くする(はみ出たら中で送る) */
		#care-shift-pub-modal .care-shift-time-box{max-width:540px;max-height:92vh;overflow-y:auto;}
		.care-shift-pub-line select{margin-left:6px;padding:5px 7px;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:13px;}
		.care-shift-check-row input{width:18px;height:18px;margin-right:5px;vertical-align:middle;}
		.care-shift-publish-all{padding:6px 12px;border:1px solid #2b6cb0;border-radius:6px;background:#2b6cb0;color:#fff;font-size:13px;cursor:pointer;}
		.care-shift-draft-save,.care-shift-draft-load{padding:6px 12px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#555;font-size:13px;cursor:pointer;}
		/* いつでも見える「右の集計」「印刷」(2.0.0) */
		.care-shift-viewtools{display:inline-flex;gap:6px;align-items:center;margin-left:12px;}
		.care-shift-print{padding:6px 12px;border:1px solid #bbb;border-radius:6px;background:#fff;color:#555;font-size:13px;cursor:pointer;font-family:inherit;}
		.care-shift-print:hover{border-color:#3d6a5c;color:#3d6a5c;}
		.care-shift-print-row{margin:0 0 10px !important;font-size:13.5px;}
		.care-shift-print-row select{padding:8px;font-size:15px;border:1px solid #ccc;border-radius:6px;margin-left:6px;}
		.care-shift-print-row input[type="checkbox"]{width:17px;height:17px;margin-right:5px;vertical-align:-3px;}
		.care-shift-histbox{display:inline-flex;gap:6px;margin-left:12px;align-self:center;}
		.care-shift-history{
			display:inline-flex;align-items:center;justify-content:center;width:40px;height:36px;padding:0;
			border:1px solid #3d6a5c;border-radius:6px;background:#fff;color:#3d6a5c;cursor:pointer;
		}
		.care-shift-history svg{width:20px;height:20px;display:block;}
		.care-shift-history:hover{background:#eef3f0;}
		.care-shift-history[disabled]{opacity:.35;cursor:default;background:#fff;}
		.care-shift-draft-select{padding:6px 8px;border:1px solid #ccc;border-radius:6px;font-size:13px;max-width:220px;}
		.care-shift-plan-bar{display:flex;flex-wrap:wrap;align-items:center;gap:6px;}
		.care-shift-plan-label{font-size:12.5px;color:#666;}
		.care-shift-plan-chip{display:inline-block;padding:5px 12px;border:1px solid #bbb;border-radius:14px;background:#fff;color:#555;font-size:13px;text-decoration:none;}
		.care-shift-plan-chip.is-on{border-color:#3d6a5c;background:#3d6a5c;color:#fff;font-weight:600;}
		.care-shift-plan-copy,.care-shift-plan-promote,.care-shift-plan-delete{padding:6px 12px;border-radius:6px;font-size:13px;cursor:pointer;border:1px solid #bbb;background:#fff;color:#555;}
		.care-shift-plan-promote{border-color:#3d6a5c;background:#3d6a5c;color:#fff;}
		.care-shift-plan-delete{border-color:#c0392b;color:#c0392b;}
		/* 案を表示しているときは、本番と間違えないように枠を付ける */
		.care-shift-form.is-plan .care-shift-scroll{outline:3px solid #e0a45f;outline-offset:2px;}
		/* 勤務希望が出ている日は左上に小さな印を出す(△=休み希望 / ●=勤務希望) */
		/* 希望のメモがある日/月の希望がある人は、右上の角を赤くする(ポインターを乗せると内容が出る) */
		.care-shift-cell.has-note::after{content:"";position:absolute;top:0;right:0;border-width:0 8px 8px 0;border-style:solid;border-color:transparent #c0392b transparent transparent;}
		.care-shift-th-name.has-wish-note::after{content:"";position:absolute;top:0;right:0;border-width:0 9px 9px 0;border-style:solid;border-color:transparent #c0392b transparent transparent;}
		.care-shift-cell.has-req-off::before{content:"△";position:absolute;top:0;left:1px;font-size:9px;color:#c0392b;line-height:1;}
		.care-shift-cell.has-req-work::before{content:"●";position:absolute;top:0;left:1px;font-size:8px;color:#2b6cb0;line-height:1;}
		/* 2.0.1: 表と集計は同じ箱の中。縦は必ずいっしょに動くので、行がずれようがない。
		   集計は横に動かしても右端に貼りつく(左の3列と同じ仕組み) */
		.care-shift-layout{display:block;}
		.care-shift-inner{display:flex;align-items:flex-start;width:100%;}
		/* 表は残りの幅いっぱい。ただし狭くしすぎると読めないので、最小の幅を決めておく */
		.care-shift-inner .care-shift-table{flex:1 1 auto;min-width:900px;}
		/* 2.0.7: 集計は幅を176pxに抑えて、続き(記号ごとの数)は左右に動かして見る。
		   幅いっぱいに広げると、日にちの列が足りなくなって1か月が1画面に入らないため。
		   バー(スクロールバー)は出さず、左右のスワイプ・ドラッグで動かす。合計・休・出は左に貼り付く。 */
		.care-shift-sumbox{
			position:sticky;right:0;z-index:6;flex:0 0 auto;align-self:stretch;
			background:#fff;border-left:2px solid #9fb3ab;
			width:176px;overflow-x:hidden;cursor:ew-resize;
		}
		.care-shift-sumtable{border-collapse:separate;border-spacing:0;font-size:11.5px;table-layout:fixed;}
		.care-shift-sumtable th,.care-shift-sumtable td{border-right:1px solid #e4e4e4;border-bottom:1px solid #e4e4e4;padding:1px 2px;text-align:center;white-space:nowrap;width:25px;min-width:25px;max-width:25px;background:#fafafa;color:#444;}
		.care-shift-sumtable thead th{position:sticky;top:0;z-index:2;background:#f2f5f4;font-size:11px;line-height:1.2;padding:3px 1px;}
		.care-shift-sumtable thead th small{font-size:10px;font-weight:400;}
		/* 合計・休・出は、左右に動かしても左に貼り付いて見えたままにする */
		.care-shift-sumtable .care-sum-fix{position:sticky;z-index:2;}
		.care-shift-sumtable .care-sum-fix1{left:0;}
		.care-shift-sumtable .care-sum-fix2{left:26px;}
		.care-shift-sumtable .care-sum-fix3{left:52px;}
		.care-shift-sumtable tbody .care-sum-fix{background:#f4f7f6;}
		.care-shift-sumtable thead .care-sum-fix{background:#e9efed;z-index:3;}
		.care-shift-sumtable .care-sum-fix3{border-right:2px solid #cfd6d3;}
		.care-shift-sumtable .care-sum-total{font-weight:700;}
		/* 本体と集計で行の高さをそろえる */
		.care-shift-table thead th,.care-shift-sumtable thead th{height:30px;box-sizing:border-box;}
		.care-shift-table tbody th,.care-shift-table tbody td,.care-shift-sumtable tbody td{height:26px;box-sizing:border-box;}
		.care-shift-form.is-hide-sums .care-shift-sumbox{display:none;}
		.care-sum-total{font-weight:700;}
		.care-shift-foot th,.care-shift-foot td{background:#f6f8f8;font-size:12px;}
		.care-shift-rule th,.care-shift-rule td{background:#eef3f2;}
		.care-shift-rule .care-shift-th-name small{font-weight:400;color:#666;margin-left:3px;}
		.care-shift-count.is-short{background:#fdecea !important;color:#c0392b;font-weight:700;}
		.care-shift-actions{margin-top:12px;display:flex;align-items:center;gap:12px;}

		/* 記号のボタン(ドラッグでの入力は一旦停止中) */
		.care-shift-chip{user-select:none;}
		.care-shift-drag-ghost{position:fixed;z-index:99999;pointer-events:none;padding:8px 12px;border-radius:6px;border:1px solid #888;background:#fff;font-weight:700;font-size:15px;box-shadow:0 4px 12px rgba(0,0,0,.25);opacity:.95;}
		.care-shift-cell.is-drop-target{outline:3px solid #c0392b;outline-offset:-3px;}

		/* 保存していないまま画面を離れようとしたときの確認(2.0.3)。画面の真ん中に出す */
		.care-shift-leave{position:fixed;inset:0;z-index:99999;background:rgba(0,0,0,.5);display:flex;align-items:center;justify-content:center;padding:16px;}
		.care-shift-leave[hidden]{display:none;}
		.care-shift-leave-box{background:#fff;border-radius:12px;padding:22px;max-width:420px;width:100%;text-align:center;box-shadow:0 10px 36px rgba(0,0,0,.35);border-top:8px solid #e0a45f;}
		.care-shift-leave-title{margin:0 0 8px !important;font-size:17px;font-weight:700;}
		.care-shift-leave-text{margin:0 0 16px !important;font-size:14px;color:#555;}
		.care-shift-leave-btns{display:flex;flex-direction:column;gap:8px;}
		.care-shift-leave-btns .care-btn{width:100%;padding:13px;font-size:15px;}

		/* その日だけの時刻を入れるポップアップ */
		.care-shift-time-modal{position:fixed;inset:0;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;z-index:99998;padding:16px;}
		.care-shift-time-modal[hidden]{display:none;}
		.care-shift-time-box{background:#fff;border-radius:10px;padding:20px;width:100%;max-width:380px;box-shadow:0 8px 28px rgba(0,0,0,.3);}
		.care-shift-time-title{margin:0 0 12px !important;font-size:16px;font-weight:700;}
		.care-shift-time-row{display:flex;gap:12px;}
		.care-shift-time-row label{display:flex;flex-direction:column;gap:4px;font-size:13px;font-weight:600;flex:1 1 0;}
		.care-shift-time-row input[type="time"]{padding:10px;font-size:16px;border:1px solid #ccc;border-radius:6px;width:100%;box-sizing:border-box;}
		.care-shift-time-base{margin:10px 0 0 !important;font-size:12.5px;color:#666;}
		.care-shift-time-preview{margin:4px 0 14px !important;font-size:14px;}
		.care-shift-time-preview b{font-size:17px;color:#3d6a5c;}
		.care-shift-time-actions{display:flex;flex-wrap:wrap;gap:8px;}
		.care-shift-slot{border-top:1px solid #eee;padding-top:10px;margin-top:6px;}
		.care-shift-slot:first-of-type{border-top:none;padding-top:0;margin-top:0;}
		.care-shift-slot-title{margin:0 0 6px !important;font-size:13px;font-weight:700;color:#3d6a5c;}
		.care-shift-time-row select{padding:9px;font-size:15px;border:1px solid #ccc;border-radius:6px;width:100%;box-sizing:border-box;}

		/* 希望と食い違っているマス(白抜き赤) */
		/* その日だけの時刻が入っているマスは、色を濃くして白抜きにする
		   (幅が足りないので時刻は文字にしない。タップすれば時刻が見られる) */
		.care-shift-cell.has-time .care-shift-cell-text{color:#fff;font-weight:700;}
		.care-shift-cell.is-conflict{background:#c0392b !important;}
		.care-shift-cell.is-conflict .care-shift-cell-text{color:#fff;}
		/* 同じ日に2つの勤務があるマス */
		.care-shift-cell.has-two .care-shift-cell-text{font-size:9.5px;letter-spacing:-0.5px;}
		.care-shift-changed{font-size:13px;color:#c0392b;}
		/* 道具の並びを、ここで次の行へ折り返す */
		.care-shift-rowbreak{flex-basis:100%;width:100%;height:0;}
		/* 「保存する」(「仮保存する」のとなり) */
		.care-shift-savebar{display:inline-flex;align-items:center;gap:10px;flex-wrap:wrap;}
		.care-shift-savebar .care-shift-save{padding:9px 26px;font-size:15px;font-weight:700;}
		.care-shift-autonote{font-size:12px;color:#3d6a5c;margin-left:8px;}
		.care-shift-autonote.is-error{color:#b3261e;font-weight:700;}
		/* 保存せずに離れたときの、戻すための帯 */
		.care-shift-recover{
			display:flex;flex-wrap:wrap;align-items:center;gap:8px;
			margin:8px 0;padding:8px 12px;border:1px solid #e0bf7a;border-radius:8px;
			background:#fff7e8;color:#6b4a10;font-size:13px;line-height:1.6;
		}
		.care-shift-recover-go,.care-shift-recover-drop{
			padding:6px 14px;border:1px solid #bbb;border-radius:6px;background:#fff;
			color:#444;font-size:13px;cursor:pointer;font-family:inherit;
		}
		.care-shift-recover-go{background:#3d6a5c;border-color:#356052;color:#fff;font-weight:700;}

		/* 入力モードのときだけマスを押せる見た目にする */
		.care-shift-form.is-editing .care-shift-cell{cursor:pointer;}
		.care-shift-form.is-editing .care-shift-cell:hover{outline:2px solid #3d6a5c;outline-offset:-2px;}

		/* スマホ:縦に並べた一覧だけを出す(シフト作成はパソコンのみ) */
		.care-shift-mobile{display:none;}
		.care-shift-mobile-filters{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:10px;}
		.care-shift-mfilter{padding:8px 12px;border:1px solid #3d6a5c;border-radius:6px;background:#fff;color:#3d6a5c;font-size:14px;font-weight:600;cursor:pointer;}
		.care-shift-mfilter.is-on{background:#3d6a5c;color:#fff;}
		.care-shift-day{border:1px solid #e2e4e7;border-radius:8px;margin-bottom:8px;background:#fff;overflow:hidden;}
		.care-shift-day.is-today{border-color:#3d6a5c;box-shadow:0 0 0 1px #3d6a5c inset;}
		.care-shift-day-head{display:flex;align-items:baseline;gap:10px;padding:8px 10px;background:#f6f8f7;}
		.care-shift-day-date{font-size:16px;font-weight:700;}
		.care-shift-day-mine{font-size:14px;color:#c0392b;font-weight:700;}
		.care-shift-day-list{list-style:none;margin:0 !important;padding:4px 6px !important;}
		.care-shift-day-list li{display:flex;align-items:center;gap:8px;padding:5px 4px;border-bottom:1px solid #f0f0f0;}
		.care-shift-day-list li:last-child{border-bottom:none;}
		.care-shift-day-list li[data-me="1"]{background:#fdf6e3;}
		.care-shift-day-code{flex:0 0 auto;min-width:46px;text-align:center;padding:3px 6px;border:1px solid #dcdcde;border-radius:5px;font-size:13px;font-weight:700;}
		.care-shift-day-name{flex:1 1 auto;font-size:15px;}
		.care-shift-day-time{flex:0 0 auto;font-size:12.5px;color:#666;}
		.care-shift-day-empty{margin:0 !important;padding:8px 10px;font-size:13px;color:#999;}
		/* 全員の希望(スマホ):日付を縦に並べた一覧。ひとことは名前の右に出す。 */
		.care-wish-mobile .care-shift-day-time{max-width:45%;text-align:right;white-space:normal;word-break:break-word;}
		.care-wish-mobile .care-shift-day-code{min-width:38px;}

		@media (max-width:700px){
			.care-shift-pc,.care-shift-pc-only{display:none !important;}
			.care-shift-mobile{display:block;}
		}

		@media (max-width:600px){
			.care-shift-table{font-size:12px;}
			.care-shift-th-name{min-width:76px;}
			.care-shift-th-dept{width:44px;min-width:44px;max-width:44px;}
			.care-shift-th-emp{left:44px;width:24px;min-width:24px;max-width:24px;}
			.care-shift-th-name{left:68px;}
			.care-shift-cell,.care-shift-day{min-width:27px;}
			.care-shift-scroll{max-height:70vh;}
			.care-shift-month-nav h2{font-size:16px;}
		}
	

/* ===== shift-staff.php ===== */
		.care-rule-move{white-space:nowrap;}
		.care-rule-move .button{padding:0 8px;min-height:26px;line-height:24px;}
	

/* ===== staff-accounts.php ===== */
		.care-staff-retire{color:#b32d2e !important;border-color:#e0b4b1 !important;}
		.care-staff-retire:hover{background:#fdecea !important;}
		.care-retire-modal{position:fixed;inset:0;z-index:100001;background:rgba(0,0,0,.45);display:flex;align-items:center;justify-content:center;padding:16px;}
		.care-retire-modal[hidden]{display:none;}
		.care-retire-box{background:#fff;border-radius:10px;padding:18px 20px;width:min(460px,94vw);box-shadow:0 8px 28px rgba(0,0,0,.3);}
		.care-retire-title{margin:0 0 8px;font-size:18px;}
		.care-retire-lead{margin:0 0 10px;font-size:14px;}
		.care-retire-input{font-size:16px;padding:6px 8px;}
		.care-retire-note{margin:6px 0 14px;font-size:13px;line-height:1.7;color:#555;background:#f6faf8;border:1px solid #cfe1da;border-radius:6px;padding:8px 10px;}
		.care-retire-plans{margin:6px 0;font-size:13px;line-height:1.7;}
		.care-retire-plans:empty{display:none;}
		.care-retire-plans.is-warn{color:#8a5a00;background:#fff8e1;border:1px solid #e0b84a;border-radius:6px;padding:8px 10px;}
		.care-retire-foot{display:flex;gap:8px;margin:0;}
	

/* ===== staff-portal.php ===== */
		/* ページタイトルを設定していない固定ページの場合、テーマ(ブロックテーマ)側の
		   「投稿タイトル」ブロックが中身が空のまま場所だけ確保してしまい、
		   本文(このショートコード)の上に余計な空白ができることがある。
		   タイトルが空のときだけ、そのブロックを非表示にする
		   (タイトルを設定した場合は今まで通り表示される)。 */
		.wp-block-post-title:empty,
		h1.wp-block-post-title:empty,
		.entry-title:empty,
		h1.entry-title:empty{
			display:none !important;
			margin:0 !important;
			padding:0 !important;
			min-height:0 !important;
		}
		/* アイキャッチ画像ブロックが空(未設定)のまま場所を取っている場合も同様に消す。 */
		.wp-block-post-featured-image:empty{
			display:none !important;
			margin:0 !important;
			padding:0 !important;
			min-height:0 !important;
		}
		/* テーマ(ブロックテーマ)の固定ページテンプレートは、本文全体を
		   「padding-top/bottomの余白付きグループブロック」で囲んでいることが多く、
		   これがこのショートコードの上に大きな空白を作る原因になっていた。
		   このショートコード(.care-portal)を実際に含んでいるグループだけを
		   :has() で狙い撃ちして上側の余白だけ打ち消す(他のページ・他のグループには影響しない)。 */
		.wp-block-group:has(> .care-portal),
		.wp-block-group:has(.care-portal){
			padding-top:0 !important;
		}

		/* テーマ側が div・label・input 等すべてに独自の余白(margin)を
		   足してくることがあるため、この中は margin を一律ゼロにし、
		   間隔は padding と flex の gap だけで作る(.care-portal自体の
		   中央寄せ margin:0 auto だけは対象外にしている)。 */
		.care-portal,.care-portal *{box-sizing:border-box;}
		.care-portal *{margin:0 !important;}
		/* 3.7.1: ただし「まんなかに寄せる箱」だけは、この一律ゼロから外す。
		   上の `.care-portal *` のほうが指定が強いので、TOP画面のボタンの箱に
		   書いてあった margin:0 auto が**打ち消されて、ずっと左に寄っていた**。
		   (コメントには「中央寄せは対象外」とあったが、外れていたのは
		    .care-portal 自身だけで、その中の箱は外れていなかった) */
		.care-portal .care-mypage{margin-left:auto !important;margin-right:auto !important;}
		/* WordPress側のwpautop()が、タグ間の改行を見て余分な <p></p> や <br> を
		   差し込んでしまうことがある(バイタル欄で実際に不要な余白の原因になっていた
		   のと同じ仕組み)。.care-portal自体もflex-column表示のため、こうした
		   空タグが紛れ込むとそのまま余白として積み上がってしまう。このポータル内では
		   意図的に空の<p>や裸の<br>は使っていないため、まとめて無害化しておく。 */
		.care-portal p:empty{display:none !important;}
		/* 入力例(プレースホルダー)は薄めの色にする。 */
		.care-portal input::placeholder,
		.care-portal textarea::placeholder{color:#c3c9c5 !important;opacity:1 !important;}
		.care-portal br{display:none !important;}

		.care-portal{
			max-width:760px;margin:0 auto !important;font-size:15px;line-height:1.7;
			/* 3.7.6: **これが無いと、スマホで中身の幅が細くなる。**
			   この箱のすぐ外側の枠が grid か flex だったとき、
			   上の margin:0 auto（まんなか寄せ）を見た時点でブラウザは
			   「引き伸ばし」をやめ、**中身のぶんだけの幅**に縮めてしまう。
			   （3.7.5で外側の枠に同じ手当てをしたが、縮んでいたのは
			     枠ではなく**この箱自身**だったので、届いていなかった）
			   width:100% と書いておくと縮まない。max-width が上にあるので、
			   これで幅が広がりすぎることはない。 */
			width:100%;
			display:flex;flex-direction:column;gap:16px;
			/* 画面より広いものがあっても、ページ全体が横に動かないようにする */
			max-width:min(760px, 100%);
		}
		@media (max-width:700px){
			/* clip にしておくと、中の「上に貼りつくもの」(横スクロールバー等)が効いたまま。hidden だと貼りつかなくなる */
			.care-portal{overflow-x:hidden;overflow-x:clip;}
		}
		/* 3.7.8: スマホで、外の枠の余白を外して広げたとき(JSが is-widened を付ける)に、
		   ボタンが画面のふちにくっつかないよう、10pxだけすきまを戻す。 */
		.care-portal.is-widened{padding-left:10px;padding-right:10px;}
		/* バイタル一覧(全員分)は日付の列数が多くなるため、少し幅を広く取る。 */
		.care-portal.care-portal-wide{max-width:min(1100px, 100%);}

		/* 3.7.1: パソコンで見たとき、画面のまんなかに出す。
		   こちらの箱は margin:0 auto でまんなかにしているが、
		   **テーマ側の本文の枠が左に寄っている**と、その中でのまんなかになるため、
		   ページ全体では左に寄って見えていた。
		   そこで、こちらの箱を包んでいる枠そのものを、まんなかへ寄せる。
		   (幅は変えない。まんなかへ寄せるだけ)
		   :has() が使えないブラウザでは、これまでどおり何も変わらない。 */
		:where(div, main, article, section):has(> .care-portal),
		:where(div, main, article, section):has(> * > .care-portal),
		:where(div, main, article, section):has(> * > * > .care-portal){
			margin-left:auto !important;
			margin-right:auto !important;
			/* 3.7.5: **これが無いと、スマホでボタンの幅が細くなる。**
			   テーマの本文の枠が grid か flex の中身だと、
			   左右を auto にした時点で「引き伸ばし」をやめ、
			   **中身のぶんだけの幅**（いちばん長い文字の幅）に縮んでしまう。
			   width:100% と書いておくと、枠のぶんの幅を保ったまま、まんなかへ寄る。
			   テーマ側の max-width は生きたままなので、幅を広げてしまうことはない。
			   box-sizing は、枠に左右の余白があるときにはみ出さないようにするため。 */
			box-sizing:border-box;
			width:100%;
		}
		/* どの画面でも左上に出る「← マイページ」。
		   スクロールしても付いてくるので、いつでも1タップで戻れる。 */
		.care-portal-topbar{
			position:sticky;top:0;z-index:40;
			/* .care-portal は縦並び(column)なので、ここで横並びに戻す。
			   戻し忘れると「訪問予定表」が真ん中に来て、帯も無駄に高くなる。 */
			display:flex !important;flex-direction:row !important;flex-wrap:nowrap;
			align-items:center;justify-content:flex-start;gap:6px;
			padding-top:6px !important;padding-bottom:8px !important;
			width:100%;
			/* 帯そのものは透明。白い板で表を隠さないよう、
			   「← TOP」と「訪問予定表」の2つのボタンだけを浮かせる。
			   ボタン以外のところは、下の表をそのまま押せるようにしておく。 */
			background:transparent;
			border-bottom:0;
			box-shadow:none;
			pointer-events:none;
		}
		.care-portal-topbar > *{pointer-events:auto;}
		/* 右の端に寄せる、名前・ログアウト・⚙・「広く」(1.97.0) */
		.care-topbar-right{display:inline-flex;align-items:center;gap:8px;margin-left:auto;flex-wrap:wrap;justify-content:flex-end;}
		.care-topbar-user{font-size:12.5px;color:#555;white-space:nowrap;background:rgba(255,255,255,.85);border-radius:12px;padding:3px 10px;}
		.care-topbar-user a{color:#3d6a5c;}
		.care-topbar-gear{font-size:16px;text-decoration:none;color:#666;line-height:1;background:rgba(255,255,255,.85);border-radius:12px;padding:3px 7px;}
		.care-topbar-gear:hover{color:#3d6a5c;}
		.care-topbar-wide{
			padding:5px 11px;border:1px solid #cddbd5;border-radius:16px;background:#f4f9f6;color:#3d6a5c;
			font-size:12.5px;font-weight:600;cursor:pointer;white-space:nowrap;font-family:inherit;
		}
		.care-topbar-wide:hover{background:#e4f0ea;}
		/* 2.1.5: 上の帯の「仮登録」。ふつうのボタンの半分くらいの大きさにする */
		.care-topbar-pending{display:inline-flex;align-items:center;gap:5px;}
		.care-topbar-pend{
			padding:3px 9px;border:1px solid #cddbd5;border-radius:12px;background:rgba(255,255,255,.85);
			color:#3d6a5c;font-size:12px;font-weight:600;text-decoration:none;white-space:nowrap;line-height:1.5;
		}
		.care-topbar-pend:hover{background:#e4f0ea;color:#2f5a4c;}
		/* 「広く」を押したとき: 上の帯の行き先と、各画面の見出しを隠す */
		body.care-wide .care-portal-topbar .care-topbar-home,
		body.care-wide .care-portal-topbar .care-topbar-link,
		body.care-wide .care-topbar-user,
		body.care-wide .care-topbar-gear,
		body.care-wide .care-topbar-pending,
		body.care-wide .care-shift-head,
		body.care-wide .care-visit-head,
		body.care-wide .care-records-header-row{display:none !important;}
		body.care-wide .care-portal-topbar{padding-top:2px !important;padding-bottom:2px !important;}
		@media (max-width:700px){
			.care-topbar-user{display:none;}
		}
		/* 画面の上にWordPressの黒い帯が出ているときは、そのぶん下げる */
		body.admin-bar .care-portal-topbar{top:32px;}
		@media screen and (max-width:782px){
			body.admin-bar .care-portal-topbar{top:46px;}
		}
		/* 左上のボタンの並び: TOP・利用者一覧・シフト・訪問予定表。どの画面からでも1タップ。 */
		.care-topbar-home,.care-topbar-link{
			display:inline-block;padding:7px 12px;border:1px solid #cddbd5;border-radius:16px;
			background:#f4f9f6;color:#3d6a5c;font-size:13px;font-weight:600;text-decoration:none;
			white-space:nowrap;-webkit-tap-highlight-color:transparent;
			/* 下に表が透けるので、少し浮かせて読みやすくする */
			box-shadow:0 1px 5px rgba(0,0,0,.22);
		}
		.care-topbar-home:hover,.care-topbar-link:hover{background:#e4f0ea;color:#2f5a4c;}
		.care-topbar-residents{background:#eef3f8;color:#2f5a7a;border-color:#c4d4e4;}
		.care-topbar-residents:hover{background:#dde9f4;color:#254a66;}
		.care-topbar-shift{background:#eef5ff;color:#3a5f8a;border-color:#c0d2e8;}
		.care-topbar-shift:hover{background:#dbe8f8;color:#2c4d73;}
		.care-topbar-visit{background:#fdf6ea;color:#8a5a00;border-color:#d8c6a8;}
		.care-topbar-visit:hover{background:#f7ead4;color:#6d4700;}
		@media (max-width:700px){
			/* スマホは4つが1行に入るように少し詰める */
			.care-topbar-home,.care-topbar-link{padding:8px 10px;font-size:13px;}
		}
		@media (max-width:360px){
			.care-topbar-home,.care-topbar-link{padding:7px 8px;font-size:12px;}
		}
		/* 「← マイページ」等の戻るリンク(記録一覧側の.care-records-backと同じ見た目)。 */
		.care-records-back{color:#3d6a5c;text-decoration:none;font-size:13px;padding-right:12px;}
		#care-edit-form{scroll-margin-top:70px;}
		.care-portal-header-row{display:flex !important;flex-wrap:wrap;align-items:baseline;justify-content:flex-end;gap:8px;}
		.care-portal-user-block{display:flex !important;flex-direction:column;align-items:flex-end;gap:2px;}
		.care-portal-user{font-size:13px;color:#666;white-space:nowrap;}
		/* 選択肢の管理(タイミング・薬):文字なしの歯車アイコンだけのリンク。
		   ログイン中/ログアウトの行のすぐ下、右寄せに配置する。 */
		/* 利用者台帳の見出し行:右端に「新規登録申請」と歯車をまとめる */
		.care-ledger-head-tools{display:flex !important;align-items:center;gap:10px;flex-wrap:wrap;}
		.care-ledger-due{background:#fdf0d5;border-color:#e0bf7a;color:#8a5a00;font-weight:600;}
		.care-ledger-gear{font-size:20px;text-decoration:none;color:#888;line-height:1;}
		.care-ledger-gear:hover{color:#3d6a5c;}
		/* バイタル・排泄・食事は同じ大きさのボタンで横一列 */
		.care-ledger-links{display:flex !important;gap:8px;flex-wrap:wrap;}
		/* 字が切れないよう、縮めすぎない。入らなければ次の行へ回す */
		.care-ledger-links .care-btn{flex:0 1 auto;min-width:max-content;text-align:center;white-space:nowrap;}
		@media (max-width:480px){
			/* スマホでは、道具(新規登録申請・歯車)を上の行の右端、
			   「ログイン中」をその下に置く */
			.care-portal-header-row{align-items:center;}
			.care-portal-user-block{order:3;flex:1 1 100%;align-items:flex-start;}
			.care-ledger-head-tools{order:2;flex:1 1 auto;justify-content:flex-end;}
		}
		.care-portal-options-link{text-align:right;}
		.care-portal-options-link a{font-size:17px;text-decoration:none;color:#666;}
		.care-portal-options-link a:hover{color:#3d6a5c;}
		.care-portal h2{font-size:20px;}
		.care-portal h3{font-size:16px;}
		.care-notice{padding:10px 14px;border-radius:6px;font-size:14px;}
		.care-notice-success{background:#eaf6ec;color:#1e5b2a;border:1px solid #bfe3c6;}
		.care-notice-error{background:#fbe9e7;color:#8a2c22;border:1px solid #f3c2ba;}
		.care-form{display:flex;flex-wrap:wrap;gap:12px;padding:18px;border:1px solid #e2e2e2;border-radius:8px;background:#fafafa;align-items:flex-start;}
		.care-field{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#444;flex:1 1 200px;min-width:0;}
		.care-field input{width:100%;padding:8px 10px;border:1px solid #ccc;border-radius:5px;font-size:14px;}
		/* 共通ボタン: 立体感(上明るい→下暗いグラデーション＋下向きの影)を付けて
		   「押せる」と一目で分かるようにする。押した瞬間は2px沈み込む。 */
		.care-btn{
			align-self:flex-end;padding:10px 20px;border-radius:8px;
			border:1px solid rgba(0,0,0,.16);
			background:linear-gradient(180deg,#4d8071 0%,#3d6a5c 100%);
			color:#fff;font-size:14px;font-weight:600;line-height:1.3;
			text-shadow:0 1px 1px rgba(0,0,0,.2);
			cursor:pointer;text-decoration:none;display:inline-block;
			box-shadow:0 2px 0 rgba(0,0,0,.2), 0 3px 6px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.25);
			transition:transform .06s ease, box-shadow .06s ease, filter .12s ease;
			-webkit-tap-highlight-color:transparent;
		}
		/* display を決めているので、hidden が効かなくなる。ここで確実に隠す(1.93.0) */
		.care-btn[hidden]{display:none !important;}
		.care-btn:hover{filter:brightness(1.08);color:#fff;}
		.care-btn:active{
			transform:translateY(2px);
			box-shadow:0 0 0 rgba(0,0,0,.2), 0 1px 2px rgba(0,0,0,.14), inset 0 1px 0 rgba(255,255,255,.2);
		}
		.care-btn:focus-visible{outline:3px solid rgba(61,106,92,.4);outline-offset:2px;}
		.care-btn-secondary{background:linear-gradient(180deg,#a8a8a8 0%,#909090 100%);}
		.care-ocr-line{margin:6px 0 0;}
		.care-ocr-btn{font-size:13px;padding:8px 12px;}
		/* 指で押しやすいよう、スマホでは少しだけ大きく
		   (日付フィルタなど、個別に小さく指定している場所はそのまま) */
		@media (max-width:700px){
			.care-btn{padding:11px 18px;font-size:15px;}
		}
		.care-table-wrap{overflow-x:auto;}
		.care-portal table.widefat{width:100%;border-collapse:collapse;font-size:13.5px;}
		.care-portal table.widefat th,.care-portal table.widefat td{padding:8px 10px;border-bottom:1px solid #e6e6e6;text-align:left;}
		.care-portal table.widefat thead th{background:#f2f2f2;}
	

/* ===== stool-alert.php ===== */
		.care-stool-badge{
			display:inline-block;padding:1px 8px;border-radius:10px;font-size:12px;font-weight:700;
			background:#eef3f0;color:#3d6a5c;border:1px solid #cfe1da;white-space:nowrap;line-height:1.6;
		}
		.care-stool-badge.is-yellow{background:#fff3c4;color:#7a5a00;border-color:#f0d060;}
		.care-stool-badge.is-red{background:#fde3df;color:#a3341f;border-color:#f0b5ab;}
	

/* ===== teikyo-sheet.php ===== */
	/* ---- 一覧の画面 ---- */
	.care-teikyo{max-width:1100px;margin:0 auto;}
	.care-teikyo-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px;}
	.care-teikyo-nav{display:flex;align-items:center;gap:10px;}
	.care-teikyo-nav h2{margin:0;font-size:18px;}
	.care-teikyo-jump{display:flex;gap:6px;align-items:center;}
	.care-teikyo-lead{background:#f4f7fb;border:1px solid #d6e0ec;border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.8;margin:0 0 12px;}
	.care-teikyo-list{width:100%;border-collapse:collapse;font-size:14px;background:#fff;}
	.care-teikyo-list th,.care-teikyo-list td{border:1px solid #d8dde3;padding:6px 8px;vertical-align:middle;}
	.care-teikyo-list thead th{background:#eef2f7;font-weight:600;white-space:nowrap;}
	.care-teikyo-list .num{text-align:center;width:60px;}
	.care-teikyo-list .num.is-open{color:#b3261e;font-weight:700;}
	.care-teikyo-list tr.is-closed{background:#f7fbf7;}
	.care-teikyo-room{width:64px;text-align:center;color:#555;}
	.care-teikyo-name{font-weight:600;}
	.care-teikyo-badge{display:inline-block;text-align:center;font-size:12px;line-height:1.3;padding:3px 8px;border-radius:4px;background:#e4f2e6;color:#1d6b34;}
	.care-teikyo-badge.is-not{background:#f0f0f0;color:#777;}
	.care-teikyo-act{white-space:nowrap;display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
	.care-teikyo-inline{display:inline;margin:0;}
	.care-teikyo-small{font-size:12px;padding:4px 10px;}
	.care-teikyo-extract{background:#1d6b34;border-color:#1d6b34;}
	.care-teikyo-editlink{font-size:12px;color:#36c;text-decoration:underline;}
	.care-teikyo-empty{text-align:center;color:#777;padding:18px;}
	.care-teikyo-note{font-size:12px;color:#666;margin-top:12px;line-height:1.7;}
	.care-teikyo-formrow td{background:#fbfbfd;}
	.care-teikyo-form h3{margin:4px 0 2px;font-size:15px;}
	.care-teikyo-formlead{font-size:12px;color:#666;margin:0 0 8px;}
	.care-teikyo-grid{display:flex;flex-wrap:wrap;gap:8px 12px;}
	.care-teikyo-f{display:flex;flex-direction:column;gap:2px;font-size:12px;color:#444;}
	.care-teikyo-f input{padding:4px 6px;border:1px solid #c8ced6;border-radius:4px;font-size:13px;}
	.care-teikyo-f.is-sm input{width:120px;}
	.care-teikyo-f.is-md input{width:190px;}
	.care-teikyo-f.is-lg input{width:320px;}
	.care-teikyo-formbtns{margin:10px 0 4px;display:flex;gap:8px;}

	/* ---- 看護と介護の出し分け ---- */
	.care-teikyo-modebar{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 12px;padding:8px 10px;background:#fff;border:1px solid #d8dde3;border-radius:6px;}
	.care-teikyo-modelabel{font-size:12px;color:#666;font-weight:600;}
	.care-teikyo-mode{display:inline-block;padding:4px 12px;border:1px solid #c8ced6;border-radius:14px;font-size:12px;color:#444;background:#fff;text-decoration:none;}
	.care-teikyo-mode.is-on{background:#2b6cb0;border-color:#2b6cb0;color:#fff;font-weight:600;}
	.care-teikyo-modenote{font-size:12px;color:#666;flex:1 1 260px;}
	.care-teikyo-kindset{display:inline-flex;align-items:center;gap:4px;padding:2px 6px;border:1px solid #e0e4e9;border-radius:5px;background:#fbfcfd;}
	.care-teikyo-kindset em{font-style:normal;font-size:11px;color:#666;font-weight:600;}
	.care-teikyo-kindtag{display:inline-block;padding:2px 10px;border-radius:12px;background:#eef2f7;color:#36568a;font-size:13px;vertical-align:middle;}
	.care-teikyo-kindnav{display:flex;gap:8px;align-items:center;margin:0 0 12px;}
	.care-teikyo-officebox{background:#fff;border:1px solid #d8dde3;border-radius:6px;padding:8px 12px;margin:0 0 12px;display:flex;gap:12px;align-items:center;flex-wrap:wrap;}
	.care-teikyo-offsum{font-size:12px;color:#444;}

	/* ---- 中身の確認表 ---- */
	.care-teikyo-check{max-width:1200px;margin:0 auto;}
	.care-teikyo-check h2{font-size:17px;margin:0 0 10px;}
	.care-teikyo-checkbar{background:#fff8e1;border:1px solid #e6d08a;border-radius:6px;padding:10px 12px;font-size:12px;line-height:1.8;display:flex;gap:12px;align-items:center;flex-wrap:wrap;margin:0 0 12px;}
	.care-teikyo-warn{color:#b3261e;}
	.care-teikyo-headinfo{border-collapse:collapse;font-size:12px;margin:0 0 10px;background:#fff;}
	.care-teikyo-headinfo th,.care-teikyo-headinfo td{border:1px solid #d8dde3;padding:4px 8px;}
	.care-teikyo-headinfo th{background:#eef2f7;font-weight:600;white-space:nowrap;}
	.care-teikyo-headinfo td{min-width:110px;}
	.care-teikyo-checkscroll{overflow-x:auto;background:#fff;}
	.care-teikyo-body{border-collapse:collapse;font-size:11px;background:#fff;}
	.care-teikyo-body th,.care-teikyo-body td{border:1px solid #c3c9d0;padding:1px 2px;text-align:center;height:20px;line-height:1.2;}
	.care-teikyo-body thead th{background:#eef2f7;font-weight:600;}
	.care-teikyo-body .c-time{min-width:96px;white-space:nowrap;padding:0 6px;}
	.care-teikyo-body .c-serv{min-width:130px;text-align:left;padding:0 6px;white-space:nowrap;}
	.care-teikyo-body .c-pd{width:34px;background:#f5f7fa;color:#555;}
	.care-teikyo-body .c-sum{width:40px;font-weight:600;}
	.care-teikyo-body .c-day,.care-teikyo-body .c-wd{width:22px;font-size:10px;}
	.care-teikyo-body .c-wd.is-sun{color:#c00;}
	.care-teikyo-body .c-wd.is-sat{color:#06c;}
	.care-teikyo-body .c-mark{width:22px;font-weight:600;}
	.care-teikyo-body tr.care-teikyo-done td{background:#fafcfa;}
	.care-teikyo-body tr.is-over td{background:#fdeeee;color:#a33;}

	

/* ===== visit-import.php ===== */
		.care-import-box{max-width:1100px;margin-top:14px;}
		.care-import-box h2{font-size:15px;margin:20px 0 6px;}
		.care-import-opt{padding:9px 12px;border:1px solid #ccd0d4;border-radius:6px;background:#fff;max-width:900px;}
		.care-import-opt .description{display:block;margin-top:4px;}
		.care-import-status{margin:10px 0;font-size:14px;}
		.care-import-status.is-busy{color:#b8860b;}
		.care-import-status.is-error{color:#b3261e;font-weight:700;}
		/* 何枚もあるときの「まとめて取り込む」帯 */
		.care-import-bulk{
			position:sticky;top:var(--care-admin-top,0px);z-index:6;
			display:flex;flex-wrap:wrap;gap:10px;align-items:center;
			margin:12px 0;padding:10px 14px;border:1px solid #bfe3cd;border-radius:10px;background:#eef7f1;
			font-size:13px;color:#2c5a48;
		}
		.care-import-bulk[hidden]{display:none;}
		.care-import-bulk label{display:flex;gap:5px;align-items:center;}
		.care-import-bulk select{padding:5px;border:1px solid #c8d6cf;border-radius:6px;font-size:13px;background:#fff;}
		.care-import-bulk-msg{font-weight:700;color:#17603a;}
		.care-import-bulk-msg.is-warn{color:#b3261e;}
		/* 取り込みずみのカード。残しておいて、どれが済んだか分かるようにする */
		.care-import-card.is-done{opacity:.6;border-color:#bfe3cd;background:#f6fbf8;}
		.care-import-card.is-done .care-import-gridside,
		.care-import-card.is-done .care-import-groups{display:none;}
		.care-import-status.is-done{color:#17603a;font-weight:700;background:#e8f5ec;border:1px solid #bfe3cd;border-radius:8px;padding:10px 12px;}

		/* スマホ・タブレットからの読み取りは、いまお休み */
		.care-import-nomobile{display:none;}
		@media (pointer:coarse){
			.care-import-nomobile{
				display:block;margin:10px 0;padding:12px 14px;
				border:1px solid #e0bf7a;border-radius:10px;background:#fff8ec;
				color:#7a5200;font-size:14px;line-height:1.8;
			}
			.care-import-pick{display:none;}
		}
		/* その月のぶんをまとめて消す。ふだんは閉じておく */
		.care-import-purge-wrap{margin:26px 0 6px;}
		.care-import-purge-wrap > summary{
			cursor:pointer;display:inline-block;padding:6px 12px;border-radius:8px;
			border:1px solid #ddd;background:#fafafa;color:#888;font-size:12px;line-height:1.6;
		}
		.care-import-purge-wrap > summary:hover{background:#f2f2f2;color:#666;}
		.care-import-purge-wrap[open] > summary{color:#b3261e;border-color:#e0a19b;background:#fdf6f5;font-weight:700;}
		.care-import-purge{
			margin:8px 0 6px;padding:12px 14px;border:1px solid #e0a19b;border-radius:10px;background:#fdf6f5;
		}
		.care-import-purge h2{margin:0 0 4px;font-size:16px;color:#b3261e;}
		.care-import-purge-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:8px;}
		.care-import-purge-row label{display:flex;gap:5px;align-items:center;font-size:13px;color:#444;}
		.care-import-purge-row select{padding:6px;border:1px solid #ccc;border-radius:6px;font-size:14px;background:#fff;}
		.care-import-purge-done{padding:5px 9px;border:1px solid #e0a19b;border-radius:8px;background:#fff;}
		button.care-import-purge-go{background:#b3261e !important;border-color:#b3261e !important;color:#fff !important;font-weight:700;}
		button.care-import-purge-go:disabled{opacity:.45;}
		.care-import-purge-msg{margin-top:8px;font-size:14px;font-weight:700;color:#7a2a24;min-height:1.2em;}
		.care-import-purge-msg.is-done{color:#17603a;}
		.care-import-card{border:1px solid #ccd0d4;background:#fff;border-radius:6px;padding:14px 16px;margin:14px 0;}
		.care-import-card h3{margin:0 0 8px;font-size:15px;}
		.care-import-head{display:flex;flex-wrap:wrap;gap:12px;align-items:center;margin-bottom:10px;}
		.care-import-head select{max-width:260px;}
		/* 3.0.5: 取り込むぶんの「内容」をまとめて入れる欄 */
		.care-import-titleall{display:inline-flex;align-items:center;gap:6px;}
		.care-import-titleall input[type="text"]{width:170px;}
		/* どの提供票か(介護・看護)。はじめはどちらも入っていない */
		.care-import-kindbox{display:inline-flex;align-items:center;gap:8px;flex-wrap:wrap;}
		.care-import-kindbox label{
			display:inline-flex;align-items:center;gap:4px;
			padding:4px 10px;border:1px solid #cfd8d4;border-radius:16px;background:#f6f8f7;cursor:pointer;
		}
		.care-import-kindbox label:has(input:checked){background:#3d6a5c;border-color:#3d6a5c;color:#fff;font-weight:700;}
		.care-import-prev{max-width:440px;border:1px solid #ddd;border-radius:4px;display:block;}
		.care-import-flex{display:flex;flex-wrap:wrap;gap:18px;align-items:flex-start;}
		.care-import-rows{flex:1 1 420px;min-width:320px;max-height:420px;overflow:auto;}
		/* 狭い画面で列がつぶれて日にちが見えなくなるので、表の最小の幅を決めて横にすべらせる */
		.care-import-rows table{width:100%;min-width:560px;border-collapse:collapse;font-size:13px;}
		.care-import-rows th,.care-import-rows td{border-bottom:1px solid #eee;padding:4px 6px;text-align:left;}
		.care-import-rows input[type="time"],.care-import-rows input[type="text"]{width:100%;box-sizing:border-box;padding:3px;}
		.care-import-rows td.care-import-day{width:76px;min-width:76px;font-weight:700;}
		/* 日にちの欄は、2けたと上下ボタンが重ならない広さにする */
		.care-import-rows input.care-import-d{width:100%;min-width:58px;box-sizing:border-box;padding:3px 4px;font-size:15px;text-align:center;}
		.care-import-rows tr.is-off{opacity:.4;}
		.care-import-foot{margin-top:12px;display:flex;flex-wrap:wrap;gap:10px;align-items:center;}
		.care-import-warn{color:#b3261e;font-size:13px;}
		.care-import-done{color:#2f6f4f;font-weight:700;}
		.care-import-local{padding:8px 10px;border-radius:6px;background:#eef7f1;border:1px solid #bcd9c8;font-size:13px;line-height:1.7;}
		/* すでに入っている月だったときに聞く画面 */
		.care-import-ask{position:fixed;inset:0;z-index:100002;background:rgba(0,0,0,.45);display:flex;align-items:flex-start;justify-content:center;padding:16px;overflow:auto;}
		.care-import-ask-box{margin:auto;background:#fff;border-radius:10px;padding:18px 20px;max-width:540px;width:100%;box-shadow:0 8px 30px rgba(0,0,0,.3);}
		.care-import-ask-box h3{margin:0 0 10px;font-size:15px;line-height:1.6;}
		.care-import-ask-box p{margin:0 0 14px;font-size:13px;line-height:1.9;color:#444;}
		.care-import-ask-bar{display:flex;flex-wrap:wrap;gap:8px;}
		.care-import-ask-bar .button{flex:1 1 auto;padding:10px 12px;font-size:14px;}
		/* ファイルをドラッグして入れるところ */
		.care-import-drop{
			max-width:820px;margin:8px 0 12px;padding:18px 14px;
			border:2px dashed #b9c6c0;border-radius:10px;background:#fafcfb;
			text-align:center;color:#5a6b64;font-size:13px;line-height:1.8;
		}
		.care-import-drop strong{display:block;font-size:15px;color:#3d6a5c;}
		.care-import-drop.is-over{
			border-color:#3d6a5c;border-style:solid;background:#e9f4ee;color:#2f5a4b;
			box-shadow:inset 0 0 0 3px rgba(61,106,92,.12);
		}
		/* 読み取りの絵。押すと画面いっぱいに広がる */
		.care-import-zoom{cursor:zoom-in;}
		/* 罫線の位置が分かっているときは、絵の中のマスを押して日にちを足し引きできる */
		.care-import-prev.is-cell{cursor:cell;}
		.care-import-zoom.is-big{
			position:fixed;left:8px;top:8px;right:8px;bottom:8px;z-index:99999;
			width:auto;max-width:none;height:auto;object-fit:contain;
			background:#fff;border:2px solid #333;cursor:zoom-out;
		}
		/* 日にちが1つずれていたときに動かすところ */
		.care-import-nudge{display:flex;flex-wrap:wrap;gap:5px;align-items:center;margin:8px 0 0;font-size:12px;color:#555;}
		.care-import-nudge > span{flex:1 1 100%;}
		.care-import-nudge-now{font-weight:700;color:#1155cc;}
		/* 表から読んだときの画面。絵は横いっぱい、その下に行ごとの欄 */
		.care-import-gridside{flex:1 1 100%;min-width:0;}
		/* 表の絵は、下で入力しているあいだも見えるように上に貼りつける。
		   高すぎると画面を占めるので、見せる高さを決めて、
		   さわっている行のところまで中身を送る(横幅は変えない=マスの位置がずれない)。 */
		/* 上に貼りつける位置は、WordPressの黒い帯(管理バー)の下から。
		   0 のままだと帯の裏に潜って、上のほうの行が隠れてしまう。
		   帯の高さは画面幅で変わるので、JavaScript から入れている。 */
		/* 提供票の絵は、切らずに全体を出す。
		   途中で切ってスクロールさせると、紙のどこを見ているか分からなくなるため。
		   画面に収まる高さなら上に貼りつき、はみ出すぶんには自然に流れる。 */
		.care-import-shot{
			position:sticky;top:var(--care-admin-top,0px);z-index:5;background:#fff;display:block;
			margin-bottom:8px;padding-bottom:3px;
		}
		.care-import-shotin{position:relative;}
		/* 絵を大きく見るボタン。絵の上に小さく置く */
		.care-import-bigbtn{
			position:absolute;right:6px;top:6px;z-index:6;
			padding:4px 10px;border:1px solid #bbb;border-radius:8px;
			background:rgba(255,255,255,.92);color:#333;font-size:12px;line-height:1.6;
			cursor:pointer;font-family:inherit;box-shadow:0 1px 4px rgba(0,0,0,.2);
		}
		.care-import-bigbtn:hover{background:#fff;}
		.care-import-shotin .care-import-prev{max-width:100%;width:100%;height:auto;display:block;}
		/* いま入力している行のところを、絵の上で薄く塗る */
		.care-import-band{
			position:absolute;left:0;right:0;pointer-events:none;
			background:rgba(61,106,92,.28);border-top:1px solid rgba(61,106,92,.8);
			border-bottom:1px solid rgba(61,106,92,.8);
		}
		.care-import-band[hidden]{display:none;}
		/* 「1」と読んだところの赤い枠。日にちを外すと、この枠も消える */
		.care-import-marks{position:absolute;inset:0;pointer-events:none;}
		.care-import-mrow{position:absolute;inset:0;}
		.care-import-mark{position:absolute;box-sizing:border-box;border:2px solid #d11;border-radius:2px;}

		/* 手で行を足すボタン */
		.care-import-addrow{margin-top:4px;}
		/* 行ごとの「時間・種類・内容」と、日にちのカレンダー */
		.care-import-groups{margin-top:10px;}
		.care-import-group{margin:0 0 10px;padding:8px 10px;border:1px solid #ddd;border-radius:8px;background:#fafafa;}
		.care-import-group.is-active{border-color:#3d6a5c;background:#f3f9f6;box-shadow:0 0 0 2px rgba(61,106,92,.15);}
		.care-import-group.is-off{opacity:.45;}
		.care-import-group-days{font-size:12px;font-weight:700;color:#3d6a5c;margin-bottom:5px;line-height:1.5;}
		.care-import-group-in{display:flex;flex-wrap:wrap;gap:4px;align-items:center;margin-bottom:7px;}
		.care-import-group-in input[type="time"]{flex:0 0 auto;padding:4px;font-size:14px;}
		.care-import-group-in select{flex:0 0 auto;padding:4px;font-size:14px;}
		.care-import-group-in input[type="text"]{flex:1 1 140px;min-width:120px;padding:4px;font-size:14px;}
		/* 日にちのマス。上の表の日にちの列と同じ位置に並べる */
		/* 日にちのマスは、横いっぱいに等分。
		   上の絵の罫線に合わせると右に寄って細くなり、数字が読めなくなるため。 */
		.care-import-cal{
			display:grid;grid-template-columns:repeat(var(--care-days,31),1fr) auto;
			gap:2px;margin:0 -4px -4px;
		}
		/* 日にちの並びのいちばん右。提供票の「合計回数」と見くらべるところ */
		.care-import-caltotal{
			box-sizing:border-box;overflow:hidden;
			min-width:30px;margin-left:5px;padding:3px 5px;border:1px solid #cfd8d4;border-radius:3px;
			background:#f2f6f4;color:#3d6a5c;text-align:center;line-height:1.05;white-space:nowrap;
		}
		.care-import-caltotal b{display:block;font-size:12px;font-weight:700;}
		.care-import-caltotal small{display:block;font-size:8px;color:#7d918a;}
		.care-import-dayc{
			box-sizing:border-box;overflow:hidden;min-width:0;
			padding:3px 0;border:1px solid #d7ddda;border-radius:3px;
			background:#fff;color:#555;cursor:pointer;font-family:inherit;line-height:1.05;text-align:center;
		}
		.care-import-dayc b{display:block;font-size:11px;font-weight:700;}
		.care-import-dayc small{display:block;font-size:8px;color:#999;}
		.care-import-dayc.is-sun b,.care-import-dayc.is-sun small{color:#c0392b;}
		.care-import-dayc.is-sat b,.care-import-dayc.is-sat small{color:#2f6fb0;}
		.care-import-dayc.is-on{background:#3d6a5c;border-color:#2f5a4c;}
		.care-import-dayc.is-on b,.care-import-dayc.is-on small{color:#fff;}
		.care-import-pre{max-height:320px;overflow:auto;background:#fafafa;border:1px solid #ddd;padding:8px;font-size:10px;line-height:1.35;white-space:pre;}
		.care-import-check{margin:8px 0;padding:9px 12px;border-radius:6px;background:#fff4e5;border:1px solid #e0b070;font-size:13px;line-height:1.8;}
		.care-import-pages{max-width:1100px;margin-top:16px;}
		.care-import-grid{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0;max-height:52vh;overflow:auto;padding:4px;}
		.care-import-cell{flex:0 0 200px;border:1px solid #ccd0d4;border-radius:6px;background:#fff;padding:6px;}
		.care-import-cell.is-local{border-color:#5f9e79;background:#f3faf6;box-shadow:0 0 0 2px rgba(95,158,121,.25);}
		.care-import-cell img{display:block;width:100%;height:120px;object-fit:contain;object-position:top;background:#fafafa;border:1px solid #eee;}
		.care-import-cap{font-size:11px;line-height:1.5;margin-top:5px;}
		.care-import-cap label{display:block;word-break:break-all;}
		.care-import-note{color:#777;margin:2px 0 4px;}
		/* 利用者えらびは、プルダウンと頭文字ボタンを縦に並べる */
		.care-import-who{display:flex;flex-direction:column;gap:2px;}
		.care-import-who .care-import-kana{margin:0;max-width:420px;}
		/* 頭文字(あかさたな)で絞るボタン。人数が増えると探すのがつらいため */
		.care-import-kana{display:flex;flex-wrap:wrap;gap:3px;margin:4px 0 3px;}
		.care-import-kanakey{
			flex:0 0 auto;min-width:26px;padding:3px 6px;border:1px solid #cfd8d4;border-radius:6px;
			background:#f6f8f7;color:#333;font-size:12px;line-height:1.3;cursor:pointer;font-family:inherit;
		}
		.care-import-kanakey:disabled{color:#ccc;background:#fafafa;cursor:default;}
		.care-import-kanakey.is-on{background:#3d6a5c;border-color:#2f5a4c;color:#fff;font-weight:700;}
		/* ページごとの利用者えらび(切り取る前に決めておける) */
		.care-import-pageres{
			display:block;width:100%;box-sizing:border-box;margin:3px 0 5px;
			padding:5px;border:1px solid #c8ced6;border-radius:6px;font-size:12px;background:#fff;
		}
		.care-import-local2{color:#2f6f4f;font-weight:700;}
		.care-import-one{border:1px solid #ccd0d4;border-radius:6px;background:#fff;padding:10px 14px;max-width:900px;}
		.care-import-one select{min-width:180px;}
		.care-import-send{margin:10px 0;padding:10px 12px;border-radius:6px;background:#fff5f5;border:1px solid #e6b3b3;}
		.care-import-send label{display:flex;gap:8px;align-items:flex-start;font-size:14px;line-height:1.6;}
		.care-import-thumbs{display:flex;flex-direction:column;gap:6px;}
		.care-import-thumbs img{display:block;width:100%;border:1px solid #ddd;border-radius:4px;}

		/* ---- 枠に合わせて撮るカメラ ---- */
		body.care-cam-open{overflow:hidden;}
		.care-cam{
			position:fixed;inset:0;z-index:100000;background:#000;
			display:flex;flex-direction:column;
		}
		.care-cam-stage{position:relative;flex:1 1 auto;min-height:0;overflow:hidden;}
		.care-cam-video{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;background:#000;}
		/* 白い枠。この中だけが写真になる */
		.care-cam-guide{
			position:absolute;left:3%;right:3%;top:6%;bottom:6%;
			border:3px solid #fff;border-radius:4px;
			box-shadow:0 0 0 100vmax rgba(0,0,0,.45);
		}
		.care-cam-tips{
			flex:0 0 auto;padding:9px 14px;background:#111;color:#fff;
			font-size:12px;line-height:1.7;
		}
		.care-cam-bar{
			flex:0 0 auto;display:flex;gap:12px;align-items:center;justify-content:center;
			padding:12px;background:#111;
		}
		.care-cam-bar button{
			flex:1 1 0;max-width:220px;padding:14px 10px;border:0;border-radius:10px;
			font-size:16px;font-weight:700;cursor:pointer;font-family:inherit;
		}
		.care-cam-cancel{background:#444;color:#fff;}
		.care-cam-shot{background:#fff;color:#111;}

		.care-import-cell.is-cropped{border-color:#b8860b;background:#fffaf0;}
		.care-import-uncrop{margin-left:3px;}

		/* ---- 手で切り出す画面 ---- */
		.care-crop{position:fixed;inset:0;z-index:100001;background:#111;display:flex;flex-direction:column;}
		.care-crop-stage{
			position:relative;flex:1 1 auto;min-height:0;overflow:hidden;
			display:flex;align-items:center;justify-content:center;
			/* 枠のつまみは外にはみ出すので、そのぶんの余白を取っておく。
			   足りないと、いちばん端まで枠を広げたときに、つまみが切れて押せない */
			padding:20px;
			touch-action:none;
		}
		/* 操作の列。紙の上にかぶせると下の行が選べなくなるので、紙の下に置く */
		.care-crop-ctrl{
			flex:0 0 auto;display:flex;flex-wrap:wrap;gap:6px;align-items:center;justify-content:center;
			padding:6px 8px;background:#1a1a1a;
		}
		/* 拡大の操作。スマホは2本指でも寄せられる */
		.care-crop-zoom{
			display:flex;gap:4px;align-items:center;
			padding:4px 6px;border-radius:10px;background:rgba(255,255,255,.10);
		}
		.care-crop-zoom button{
			width:38px;height:38px;border:0;border-radius:8px;background:#fff;color:#111;
			font-size:17px;font-weight:700;line-height:1;cursor:pointer;font-family:inherit;padding:0;
		}
		.care-crop-zoom button[data-z="reset"]{width:auto;padding:0 10px;font-size:13px;}
		.care-crop-zoom-now{min-width:44px;text-align:center;color:#fff;font-size:12px;font-weight:700;}
		/* 紙の傾きを直すところ。斜めのままだと罫線が読めないため */
		.care-crop-tilt{
			display:flex;gap:6px;align-items:center;justify-content:center;
			padding:4px 6px;border-radius:10px;background:rgba(255,255,255,.10);
		}
		.care-crop-tilt-lab{color:#fff;font-size:12px;font-weight:700;}
		.care-crop-tilt button{
			min-width:38px;height:34px;border:0;border-radius:8px;background:#fff;color:#111;
			font-size:15px;font-weight:700;line-height:1;cursor:pointer;font-family:inherit;padding:0 8px;
		}
		.care-crop-tilt button[data-t="auto"],.care-crop-tilt button[data-t="zero"]{font-size:12px;}
		.care-crop-tilt button:disabled{opacity:.5;}
		.care-crop-tilt-range{flex:1 1 120px;max-width:260px;min-width:90px;accent-color:#d11;}
		.care-crop-tilt-now{min-width:46px;text-align:center;color:#fff;font-size:12px;font-weight:700;}
		/* 回した紙が角で切れないよう、少しだけ外へ出せるようにする */
		.care-crop-inner{overflow:visible;}
		.care-crop-inner{position:relative;max-width:100%;max-height:100%;touch-action:none;user-select:none;}
		.care-crop-img{display:block;max-width:100%;max-height:78vh;width:auto;height:auto;}
		/* せまい画面では、説明を短くして絵の場所をあける */
		@media (max-height:760px){
			.care-crop-tips{padding:6px 12px;font-size:11px;line-height:1.5;}
			.care-crop-bar{padding:8px;gap:6px;}
			.care-crop-bar button{padding:10px 8px;font-size:14px;}
		}
		/* 外を暗くするのはやめた(紙が見えないと、どこまで入れるか決めにくいため)。
		   そのぶん枠は太い赤線にして、白い紙の上でもすぐ分かるようにする。 */
		.care-crop-sel{
			position:absolute;box-sizing:border-box;cursor:move;
			border:3px solid #d11;
			box-shadow:0 0 0 2px rgba(255,255,255,.95), inset 0 0 0 2px rgba(255,255,255,.95);
		}
		/* 目印を合わせている間は、枠より目印のほうを目立たせる */
		.care-crop.is-pinning .care-crop-sel{border-color:#333 !important;}
		/* つまみは丸く、小さく。紙の字が隠れないように。
		   拡大しても同じ大きさのままにする。 */
		.care-crop-sel i{position:absolute;background:#fff;border:2px solid #d11;
			border-radius:50%;box-sizing:border-box;
			box-shadow:0 1px 3px rgba(0,0,0,.5);
			transform:scale(var(--care-pinz,1));}
		.care-crop-sel i:not(.care-crop-edge){width:20px;height:20px;}
		.care-crop-sel i[data-h="nw"]{left:-10px;top:-10px;cursor:nwse-resize;}
		.care-crop-sel i[data-h="ne"]{right:-10px;top:-10px;cursor:nesw-resize;}
		.care-crop-sel i[data-h="sw"]{left:-10px;bottom:-10px;cursor:nesw-resize;}
		.care-crop-sel i[data-h="se"]{right:-10px;bottom:-10px;cursor:nwse-resize;}
		/* 辺のつまみ。四隅より近いところをつまめるので、片側だけ寄せやすい */
		.care-crop-sel i[data-h="n"]{left:50%;top:-9px;width:18px;height:18px;margin-left:-9px;cursor:ns-resize;}
		.care-crop-sel i[data-h="s"]{left:50%;bottom:-9px;width:18px;height:18px;margin-left:-9px;cursor:ns-resize;}
		.care-crop-sel i[data-h="w"]{top:50%;left:-9px;width:18px;height:18px;margin-top:-9px;cursor:ew-resize;}
		.care-crop-sel i[data-h="e"]{top:50%;right:-9px;width:18px;height:18px;margin-top:-9px;cursor:ew-resize;}
		/* 日にちの目印(1日と末日)。かすれたFAXでも数えられるようにする */
		.care-crop-pins{position:absolute;inset:0;pointer-events:none;}
		/* 見た目は小さく、押せる範囲は広く */
		.care-crop-sel i::after{content:"";position:absolute;left:-11px;right:-11px;top:-11px;bottom:-11px;}
		/* 目印を合わせている間だけ、丸と線をつまめるようにする
		   (ふだんは下の切り取り枠をつかみたいので、素通りさせる) */
		.care-crop.is-pinning .care-crop-pinmark{pointer-events:auto;cursor:grab;touch-action:none;}
		.care-crop.is-pinning .care-crop-pinline{pointer-events:auto;cursor:grab;touch-action:none;}
		.care-crop.is-pinning .care-crop-pinmark:active,
		.care-crop.is-pinning .care-crop-pinline:active{cursor:grabbing;}
		/* 線はつまみやすいよう、見た目より広く受ける */
		.care-crop.is-pinning .care-crop-pinline::before{
			content:"";position:absolute;left:0;right:0;top:-9px;bottom:-9px;
		}
		/* 2つの目印を結ぶ線。表の行に沿っているかを目で確かめるためのもの */
		.care-crop-pinline{
			position:absolute;height:0;transform-origin:0 50%;
			border-top:2px solid #d11;box-shadow:0 0 0 1px rgba(255,255,255,.85);
		}
		/* 目印。切り取り枠と同じで、マスに合わせる四角にする */
		/* 目印を動かすための取っ手。
		   目印そのものをつまむと指で隠れて見えないので、少し下に出す。
		   scale を先に掛けてから translate するので、拡大しても
		   取っ手の大きさも、下にずらす距離も、画面では変わらない。 */
		.care-crop-pingrip{
			position:absolute;z-index:2;
			transform-origin:0 0;
			transform:scale(var(--care-pinz,1)) translate(-50%,30px);
			width:40px;height:40px;line-height:36px;box-sizing:border-box;
			border:2px solid #fff;border-radius:50%;background:#d11;color:#fff;
			font-size:18px;text-align:center;
			box-shadow:0 2px 6px rgba(0,0,0,.55);
			cursor:grab;touch-action:none;pointer-events:auto;user-select:none;
		}
		.care-crop-pingrip.is-both{background:#111;}
		.care-crop-pingrip:active{cursor:grabbing;}
		/* 目印と取っ手をつなぐ細い線。どの目印の取っ手かが分かるように */
		.care-crop-pingrip::before{
			content:"";position:absolute;left:50%;top:-30px;width:2px;height:32px;
			margin-left:-1px;background:#d11;
		}
		.care-crop-pingrip.is-both::before{background:#111;}
		/* 取っ手が要るのは指で触る画面だけ。
		   マウスの画面では目印そのものをつまめるので、邪魔になるだけなので出さない。 */
		@media (pointer:fine){
			.care-crop-pingrip{display:none;}
		}
		/* 2.7.1: 表のマスが小さいと目印が字を隠してしまうので、ひとまわり小さくした。
		   つまむ範囲(下の ::after)は前と同じ広さのまま。 */
		.care-crop-pinmark{
			position:absolute;transform:translate(-50%,-50%) scale(var(--care-pinz,1));
			min-width:18px;height:14px;line-height:10px;box-sizing:border-box;
			border:1.5px solid #fff;border-radius:2px;background:#d11;color:#fff;
			font-size:9px;font-weight:700;text-align:center;letter-spacing:-.5px;
			box-shadow:0 0 0 1.5px rgba(0,0,0,.5);
		}
		/* 見た目は小さく、つまめる範囲は広く(切り取り枠のつまみと同じ考え方) */
		.care-crop.is-pinning .care-crop-pinmark::after{
			content:"";position:absolute;left:-11px;right:-11px;top:-12px;bottom:-12px;
		}
		.care-crop.is-pinning .care-crop-inner{cursor:crosshair;}
		.care-crop-pin.is-on{background:#d11 !important;color:#fff !important;}
		/* 説明で絵の場所を取られないよう、高さを抑えて中でスクロールさせる */
		.care-crop-tips{
			flex:0 0 auto;padding:9px 14px;background:#000;color:#fff;font-size:12px;line-height:1.8;
			max-height:20vh;overflow:auto;
		}
		.care-crop-bar{flex:0 0 auto;display:flex;gap:10px;padding:12px;background:#000;justify-content:center;flex-wrap:wrap;}
		.care-crop-bar button{flex:1 1 140px;max-width:220px;padding:13px 10px;border:0;border-radius:10px;
			font-size:15px;font-weight:700;cursor:pointer;font-family:inherit;background:#444;color:#fff;}
		.care-crop-ok{background:#fff !important;color:#111 !important;}
		.care-crop-cancel{background:#333 !important;}
		/* せまい画面では、傾きの列を1行に収める(2行になると絵の場所が減るため) */
		@media (max-width:480px){
			.care-crop-ctrl{gap:4px;padding:4px;}
			/* 紙をなるべく大きく見せたいので、説明とボタンの場所を切りつめる */
			.care-crop-tips{max-height:15vh;}
			/* ボタンは2行のまま。1行に詰めると字が折れて読めなくなる */
			.care-crop-bar{padding:6px;gap:5px;}
			.care-crop-bar button{padding:11px 6px;font-size:14px;}
			.care-crop-tilt{gap:4px;padding:3px 5px;flex-wrap:nowrap;}
			.care-crop-tilt-lab{font-size:11px;}
			.care-crop-tilt button{min-width:32px;height:30px;padding:0 6px;font-size:13px;}
			.care-crop-tilt button[data-t="auto"],.care-crop-tilt button[data-t="zero"]{font-size:11px;padding:0 5px;}
			.care-crop-tilt-range{flex:1 1 60px;min-width:52px;}
			.care-crop-tilt-now{min-width:38px;font-size:11px;}
			.care-crop-zoom{gap:3px;padding:3px 5px;}
			.care-crop-zoom button{width:34px;height:34px;font-size:15px;}
			.care-crop-zoom button[data-z="reset"],.care-crop-zoom button[data-z="turn"]{width:auto;padding:0 8px;font-size:12px;}
			.care-crop-zoom-now{min-width:38px;font-size:11px;}
		}

		/* ---- 職員ページ(フロント)で使うときの見た目 ---- */
		.care-import-front .button{
			display:inline-block;padding:7px 14px;border:1px solid #c8ced6;border-radius:6px;
			background:#fff;color:#333;font-size:14px;cursor:pointer;font-family:inherit;line-height:1.4;
		}
		.care-import-front .button-primary{background:#2b6cb0;border-color:#2b6cb0;color:#fff;font-weight:700;}
		.care-import-front .button-small{padding:3px 8px;font-size:11px;}
		.care-import-front .button[disabled]{opacity:.5;cursor:not-allowed;}
		.care-import-front select,.care-import-front input[type="file"]{
			padding:6px;border:1px solid #c8ced6;border-radius:6px;font-size:14px;background:#fff;max-width:100%;
		}
		.care-import-front .description{font-size:12px;color:#666;line-height:1.8;}
		.care-import-front h2{font-size:15px;margin:18px 0 6px;}
		@media (max-width:760px){
			.care-import-front .care-import-cell{flex:1 1 140px;}
			.care-import-front .care-import-one select{width:100%;min-width:0;}
			.care-import-front #care-import-one-cam{width:100%;padding:14px;font-size:16px;}
			.care-crop-img{max-height:64vh;}
		}
	

/* ===== visit-import.php ===== */
		/* この画面は管理画面の見た目をそのまま借りているので、
		   テーマ側に box-sizing が無いと、余白のぶんだけ横にはみ出す。 */
		.care-import-front,.care-import-front *{box-sizing:border-box;}
		.care-import-front{max-width:1100px;margin:0 auto;overflow-wrap:anywhere;}
		.care-import-front .care-import-box,
		.care-import-front .care-import-one,
		.care-import-front .care-import-opt,
		.care-import-front .care-import-card{max-width:100%;}
		.care-import-front input[type="file"]{max-width:100%;}
		.care-import-lead{background:#f4f7fb;border:1px solid #d6e0ec;border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.9;margin:0 0 12px;}
		.care-import-blocked{background:#fff4f4;border:1px solid #e6b5b5;border-radius:6px;padding:10px 12px;font-size:13px;line-height:1.8;color:#7a2020;margin:0 0 12px;}
		.care-import-back{margin-top:16px;}
	

/* ===== visit-schedule.php ===== */
		.care-visit{max-width:100%;}
		.care-visit-head{display:flex;flex-wrap:wrap;gap:10px;align-items:center;justify-content:space-between;margin-bottom:10px;}
		.care-visit-datenav{display:flex;align-items:center;gap:10px;}
		.care-visit-datenav h2{margin:0;font-size:19px;}
		.care-visit-jump{display:flex;gap:6px;align-items:center;}
		/* パソコンでは日付の欄を右に置いて1行にし、表を上に詰める(1.68.0) */
		@media (min-width:601px){
			.care-visit-head{flex-wrap:nowrap;}
			/* 3.5.4: 日付の欄は左に詰め、「今日の予定」だけを右の端に置く */
			.care-visit-datenav{flex:0 0 auto;min-width:0;flex-wrap:nowrap;}
			.care-visit-datenav h2{white-space:nowrap;}
			.care-visit-jump{flex:0 0 auto;margin-left:0;}
			.care-visit-opentoday{margin-left:auto;white-space:nowrap;}
		}
		.care-visit-jump input[type="date"]{padding:7px;border:1px solid #ccc;border-radius:6px;font-size:15px;}

		.care-visit-controls{display:flex;flex-direction:column;gap:8px;margin-bottom:12px;}
		.care-visit-btnrow{display:flex;flex-wrap:wrap;gap:8px;align-items:center;}
		.care-visit-btnlabel{font-size:13px;color:#666;min-width:3.5em;}
		.care-btn-chip{padding:7px 12px;font-size:13px;background:linear-gradient(180deg,#f4f4f4 0%,#e6e6e6 100%);color:#333;border:1px solid #ccc;}
		.care-btn-chip.is-on{background:linear-gradient(180deg,#4f7f6b 0%,#3d6a5c 100%);color:#fff;border-color:#356052;}
		.care-visit-custom{display:flex;gap:6px;align-items:center;flex-wrap:wrap;}
		.care-visit-custom input[type="time"]{padding:6px;border:1px solid #ccc;border-radius:6px;font-size:14px;}

		.care-visit-empty{padding:12px;border-radius:8px;background:#fff5e0;border:1px solid #e8c583;}

		/* 縦は切らずに全部出す(9〜18時を中でスクロールせずに見たい、というご要望)。
		   そのぶん縦に長くなるので、ページのほうをスクロールしてもらう。 */
		.care-visit-scroll{overflow-x:auto;overflow-y:auto;border:1px solid #ddd;border-radius:8px;background:#fff;max-height:none;}
		/* 横のつまみは表の上にあるので、表の下の(標準の)バーは出さない(1.87.0) */
		.care-visit-scroll{scrollbar-width:none;-ms-overflow-style:none;}
		.care-visit-scroll::-webkit-scrollbar{display:none;width:0;height:0;}
		/* 表の下の欄の「＋ 入れる」 */
		.care-visit-side-add{margin-top:8px;}
		.care-visit-side-add > summary{cursor:pointer;font-size:13px;color:#3d6a5c;font-weight:600;list-style:revert;}
		.care-visit-side-form{display:flex;flex-wrap:wrap;gap:6px;align-items:center;margin-top:8px;}
		.care-visit-side-form select,.care-visit-side-form input[type="text"],.care-visit-side-form input[type="date"]{
			padding:7px 8px;border:1px solid #ccc;border-radius:6px;font-size:14px;font-family:inherit;
		}
		.care-visit-side-form input[type="text"]{flex:1 1 180px;min-width:0;}
		.care-visit-side-form label{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#444;}
		.care-visit-side-form .care-btn{padding:7px 14px;font-size:13px;}
		/* 3.6.1: 窓の中の入れる欄は、段を分けて縦に並べる(1行に詰めこむと読みにくい) */
		/* 3.7.0: その月の訪問予定の一覧(直せる) */
		/* .care-vmonth-lead（説明文）は消した。使うところが無くなったので指定も外す */
		.care-vmonth-filter{
			display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;
			margin:0 0 8px;padding:8px 10px;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;
		}
		.care-vmonth-filter label{display:inline-flex;align-items:center;gap:4px;font-size:13px;color:#444;}
		.care-vmonth-filter select{padding:5px 6px;border:1px solid #ccc;border-radius:6px;font-size:14px;}
		.care-vmonth-label{font-size:17px;}
		.care-vmonth-count{margin-left:auto;font-size:13px;color:#666;}
		/* 3.7.4: 「絞込を消す」は、ほかの小さいボタンと大きさをそろえる */
		.care-vmonth-clear{padding:5px 12px;font-size:13px;}
		.care-vmonth-sort{display:flex;flex-wrap:wrap;gap:6px;align-items:center;font-size:13px;margin:0 0 8px;}
		.care-vmonth-sort .care-btn{padding:5px 12px;font-size:13px;}
		.care-vmonth-none{padding:10px;color:#666;}
		.care-vmonth-table{border-collapse:collapse;width:100%;background:#fff;font-size:13px;}
		.care-vmonth-table th,.care-vmonth-table td{border:1px solid #e0e0e0;padding:4px 6px;text-align:left;white-space:nowrap;}
		.care-vmonth-table thead th{background:#eef2f0;color:#33513f;font-size:12px;position:sticky;top:0;z-index:1;}
		.care-vmonth-table tr.is-sat{background:#f2f7fb;}
		.care-vmonth-table tr.is-sun{background:#fdf3f2;}
		.care-vmonth-table input[type="date"],
		.care-vmonth-table input[type="time"],
		.care-vmonth-table select{padding:3px 4px;border:1px solid #ccc;border-radius:5px;font-size:13px;font-family:inherit;}
		.care-vmonth-table .care-vmonth-title{width:170px;}
		.care-vmonth-table .care-vmonth-note{width:150px;}
		.care-vmonth-table input[type="text"]{padding:3px 5px;border:1px solid #ccc;border-radius:5px;font-size:13px;font-family:inherit;}
		.care-vmonth-wd{text-align:center;color:#666;}
		.care-vmonth-del{text-align:center;}
		.care-vmonth-save{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:10px 0 20px;}
		.care-vmonth-hint{font-size:12px;color:#777;}

		/* 3.6.4: 食数表の粗利・まとめ・全●ボタン */
		.care-meal-table .c-gp{text-align:right;white-space:nowrap;}
		.care-meal-table .c-gp.is-minus,
		.care-meal-sum b.is-minus{color:#b3261e;}
		.care-meal-allbtns{display:inline-flex;gap:3px;margin-left:4px;vertical-align:middle;}
		.care-meal-allbtns button{
			padding:1px 5px;border:1px solid #cfd8d4;border-radius:4px;background:#f6f8f7;
			color:#33513f;font-size:10px;font-weight:700;line-height:1.4;cursor:pointer;font-family:inherit;
		}
		.care-meal-allbtns button:hover{background:#e3efe8;border-color:#4f7f6b;}
		.care-meal-sum{display:flex;flex-wrap:wrap;gap:10px;margin:10px 0 4px;}
		.care-meal-sum-box{
			flex:1 1 300px;padding:8px 12px;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa;
		}
		.care-meal-sum-box h4{margin:0 0 4px;font-size:12px;color:#666;}
		.care-meal-sum-box p{margin:0;display:flex;flex-wrap:wrap;gap:4px 16px;font-size:13px;}
		.care-meal-sum-box b{font-size:15px;}
		.care-meal-sum-box .is-strong{font-weight:700;}

		/* 3.6.3: 食数表「この月は出していない人」 */
		.care-meal-hidden-list{margin:0 0 10px;padding:0;list-style:none;}
		.care-meal-hidden-list li{
			display:flex;flex-wrap:wrap;align-items:center;gap:8px;
			padding:5px 8px;border:1px solid #e0e0e0;border-radius:6px;background:#fafafa;
			margin-bottom:4px;max-width:560px;font-size:13px;
		}
		.care-meal-hidden-list label{display:inline-flex;align-items:center;gap:4px;white-space:nowrap;}

		.care-visit-side-row{
			flex:1 0 100%;display:flex;flex-wrap:wrap;gap:6px 8px;align-items:center;
		}
		.care-visit-side-rowlabel{font-size:13px;color:#555;min-width:2.6em;}
		.care-visit-side-wd{display:inline-flex;flex-wrap:wrap;gap:2px 8px;}
		.care-visit-side-wd label{font-size:13px;}
		.care-visit-side-wd input{margin:0 2px 0 0;}
		.care-visit-side-del{display:inline;margin:0 0 0 6px;}
		.care-visit-side-x{border:1px solid #d8c6c2;background:#fff;color:#a3341f;border-radius:4px;width:22px;height:22px;line-height:1;cursor:pointer;font-size:13px;padding:0;vertical-align:middle;}
		.care-visit-side-x:hover{background:#fde3df;}
		/* 表の上に出す、横スクロール用のつまみ。
		   自動で隠れる細いバーだと気づかれないので、いつも見える形にする。 */
		.care-visit-xtop{
			overflow-x:auto;overflow-y:hidden;height:16px;margin:0 0 4px;
			border-radius:8px;background:#eeeeee;
			scrollbar-width:auto;scrollbar-color:#a9a9a9 #eeeeee;
		}
		.care-visit-xtop > div{height:1px;}
		.care-visit-xtop::-webkit-scrollbar{height:14px;}
		.care-visit-xtop::-webkit-scrollbar-track{background:#eeeeee;border-radius:8px;}
		.care-visit-xtop::-webkit-scrollbar-thumb{background:#a9a9a9;border-radius:8px;border:3px solid #eeeeee;}
		.care-visit-xtop::-webkit-scrollbar-thumb:hover{background:#8a8a8a;}
		/* 未割当は、日付のとなりに小さく件数だけ */
		.care-visit-unchip{
			flex:0 0 auto;padding:3px 9px;border-radius:11px;white-space:nowrap;
			background:#fff1da;border:1px solid #e0bf7a;color:#7a5200;
			font-size:12px;font-weight:700;line-height:1.6;
		}
		/* 下のほうを見ているとき、画面の上に貼りつく見出しの写し */
		.care-visit-floathead{
			position:fixed;top:0;z-index:30;overflow:hidden;
			display:flex;flex-direction:column;
			background:#f2f2f2;border-bottom:2px solid #aaa;box-shadow:0 3px 8px rgba(0,0,0,.18);
		}
		/* 3.1.0: 帯を閉じる「×」。右上に小さく置く */
		.care-visit-floathead-x-close{
			position:absolute;right:2px;top:2px;z-index:3;
			width:20px;height:20px;padding:0;border:1px solid #bbb;border-radius:5px;
			background:rgba(255,255,255,.92);color:#666;font-size:13px;line-height:1;
			cursor:pointer;font-family:inherit;
		}
		.care-visit-floathead-x-close:hover{background:#fff;color:#222;}
		.care-visit-floathead-track{display:flex;align-items:stretch;width:max-content;will-change:transform;flex:0 0 auto;}
		.care-visit-floathead-corner{position:absolute;left:0;top:0;z-index:2;display:flex;align-items:stretch;}
		/* 下のほうを見ているときでも、横にすべらせられるようにするつまみ */
		.care-visit-floathead-x{
			flex:0 0 auto;box-sizing:border-box;overflow-x:auto;overflow-y:hidden;height:18px;
			background:#eeeeee;border-top:1px solid #ddd;border-radius:0 0 8px 8px;
			scrollbar-width:auto;scrollbar-color:#a9a9a9 #eeeeee;
		}
		.care-visit-floathead-x > div{height:1px;}
		.care-visit-floathead-x::-webkit-scrollbar{height:14px;}
		.care-visit-floathead-x::-webkit-scrollbar-track{background:#eeeeee;border-radius:8px;}
		.care-visit-floathead-x::-webkit-scrollbar-thumb{background:#a9a9a9;border-radius:8px;border:3px solid #eeeeee;}
		.care-visit-floathead-x::-webkit-scrollbar-thumb:hover{background:#8a8a8a;}
		.care-visit-floathead .care-visit-colhead,
		.care-visit-floathead .care-visit-corner{position:static;box-shadow:none;}

		/* 中身ぶんの幅を持たせる。
		   画面幅のままだと、左に貼りつけた時間の列が
		   「箱の右端」で止まってしまい、右まですべらせたときに外れる。 */
		.care-visit-board{display:flex;align-items:flex-start;width:max-content;min-width:100%;}
		.care-visit-column{display:flex;flex-direction:column;}
		.care-visit-column-time{position:sticky;left:0;z-index:6;}
		/* 見出しの高さ。
		   左の時間の列と職員の列は別々の箱なので、高さを決めておかないと
		   中身の多いほうだけ伸びて、目盛りと枠が1行ぶんずれてしまう。
		   高さを固定し、はみ出す分は隠す。 */
		/* 見出しの止め位置。3.0.3
		   パソコンでは、表そのものが箱の中でスクロールする(.care-visit-scroll が
		   overflow を持っている)。そのときの sticky は「画面の上」ではなく
		   「その箱の上」を基準にするので、top に --care-stick-top(画面の上に
		   貼りついている帯の高さ)を入れると、見出しがその分だけ箱の中で
		   下へ押し下げられ、1行目の上に重なってしまう(=時間と名前が切れて見える)。
		   箱の中では top:0 が正しい。画面の上の帯との重なりは、
		   assets/js/visit.js が作る「写しの帯」が受け持つ。
		   スマホでは箱がスクロールしない作りなので、下の指定で --care-stick-top に戻す。 */
		.care-visit-board{--care-headh:66px;}
		.care-visit-corner{position:sticky;top:0;z-index:6;width:52px;
			height:var(--care-headh);min-height:var(--care-headh);max-height:var(--care-headh);
			overflow:hidden;box-sizing:border-box;background:#f2f2f2;border-bottom:1px solid #ccc;border-right:1px solid #ccc;}
		.care-visit-colhead{
			position:sticky;top:0;z-index:3;box-sizing:border-box;
			height:var(--care-headh);min-height:var(--care-headh);max-height:var(--care-headh);overflow:hidden;
			display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
			min-width:112px;padding:2px 4px;background:#f2f2f2;border-bottom:1px solid #ccc;border-right:1px solid #e0e0e0;
			font-size:13px;font-weight:700;line-height:1.2;
		}
		/* 列の幅は固定。6人ぶんが横に収まり、それ以上は横スクロールになる */
		.care-visit-column{flex:0 0 112px;width:112px;}
		.care-visit-column-time{flex:0 0 54px;width:54px;}
		/* 未割当は振り分けの受け皿なので、重なっても操作できるよう広めにする。
		   残っているあいだは時間の列のとなりに貼りつけ、横にすべらせても見えたままにする。
		   (配り終えると、この列そのものが出なくなる) */
		.care-visit-column-un{
			flex:0 0 168px;width:168px;
			position:sticky;left:54px;z-index:5;background:#fff;
			box-shadow:2px 0 4px rgba(0,0,0,.10);
		}
		.care-visit-column-un .care-visit-col{min-width:168px;background-color:#fffaf3;}
		.care-visit-colhead small{font-weight:400;color:#666;font-size:10px;}
		.care-visit-colhead.care-visit-kind-nursing{background:#eaf3fb;}
		.care-visit-colhead.care-visit-kind-care{background:#eef6ee;}
		.care-visit-colhead.care-visit-kind-un{background:#fdf1e3;}

		.care-visit-times{position:relative;width:54px;background:#fafafa;border-right:1px solid #ccc;}
		.care-visit-tick{
			position:absolute;left:0;right:0;box-sizing:border-box;
			padding:0 4px;font-size:9px;line-height:13px;color:#999;
			border-top:1px solid #ededed;letter-spacing:-.3px;
		}
		/* 終わりの時刻は、下の「合計」と重ならないよう、線の少し上に出す */
		.care-visit-tick.is-last{background:transparent;border-top:none;transform:translateY(-14px);}
		.care-visit-tick.is-hour{color:#333;font-weight:700;font-size:11px;border-top:1px solid #bbb;background:#f0f0f0;}
		.care-visit-corner{width:54px;}

		/* 表と右の操作列 */
		.care-visit-layout{display:flex;gap:10px;align-items:flex-start;}
		.care-visit-main{flex:1 1 auto;min-width:0;}
		/* 1.99.0: サービスの種類を2列にしたぶん、少しだけ広げた(92→112px) */
		.care-visit-rail{
			flex:0 0 112px;position:sticky;top:calc(var(--care-stick-top,0px) + 8px);align-self:flex-start;
			display:flex;flex-direction:column;gap:8px;
		}
		.care-visit-rail-box{border:1px solid #ddd;border-radius:8px;background:#fbfbfb;padding:7px 6px;}
		.care-visit-rail-box h4{margin:0 0 5px;font-size:11px;color:#666;text-align:center;font-weight:700;}
		.care-visit-rail-btn{
			display:block;width:100%;box-sizing:border-box;margin-bottom:4px;padding:6px 2px;
			border:1px solid #ccc;border-radius:6px;background:linear-gradient(180deg,#f6f6f6,#e8e8e8);
			color:#333;font-size:12px;text-align:center;text-decoration:none;cursor:pointer;line-height:1.2;
		}
		.care-visit-rail-import{background:linear-gradient(180deg,#fff6e5,#ffe9c2);border-color:#e0bf7a;color:#7a5200;font-weight:700;}
		.care-visit-rail-btn.is-on{background:linear-gradient(180deg,#4f7f6b,#3d6a5c);color:#fff;border-color:#356052;font-weight:700;}
		.care-visit-rail-time{display:flex;flex-direction:column;gap:3px;margin-bottom:4px;}
		.care-visit-rail-time input{width:100%;box-sizing:border-box;padding:3px;border:1px solid #ccc;border-radius:5px;font-size:11px;}
		.care-visit-rail-sep{height:1px;background:#ddd;margin:6px 0;}
		.care-visit-rail-select{width:100%;box-sizing:border-box;padding:5px;border:1px solid #ccc;border-radius:6px;font-size:13px;}
		/* よく使う長さのボタン(15/30/40/45分)。プルダウンはその下 */
		/* 3.5.4: 4つとも横1列に並べる(前は「45」だけ次の行に落ちていた) */
		.care-visit-durbtns{display:flex;flex-wrap:nowrap;gap:2px;margin-bottom:5px;}
		.care-visit-durbtn{
			flex:1 1 0;min-width:0;padding:7px 0;border:1px solid #cfd8d4;border-radius:6px;
			background:#f6f8f7;color:#333;font-size:12px;font-weight:700;line-height:1.1;
			letter-spacing:-0.5px;text-align:center;
			cursor:pointer;font-family:inherit;
		}
		.care-visit-durbtn.is-on{background:#3d6a5c;border-color:#3d6a5c;color:#fff;}
		.care-visit-rail-hint{margin:6px 0 0;font-size:10px;color:#888;line-height:1.5;}
		/* サービスの種類は2列×3段(1.99.0。前は1列×6段で縦に長かった) */
		.care-visit-icons{display:grid;grid-template-columns:1fr 1fr;gap:4px;}
		.care-visit-icon{
			display:block;width:100%;box-sizing:border-box;padding:8px 1px;
			border:2px solid var(--chip,#bbb);border-radius:7px;background:var(--chipbg,#f2f2f2);
			color:#333;font-size:10.5px;font-weight:700;cursor:pointer;line-height:1.2;
			white-space:nowrap;overflow:hidden;text-overflow:clip;letter-spacing:-0.8px;
		}
		.care-visit-icon.is-on{box-shadow:0 0 0 3px rgba(0,0,0,.22);}
		/* 表の左上にまとめた、時間帯と職種のボタン */
		.care-visit-topbar{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin:8px 0;}
		.care-visit-topgroup{display:flex;gap:4px;}
		.care-visit-top-btn{
			display:inline-block;padding:7px 12px;border:1px solid #ccc;border-radius:7px;
			background:linear-gradient(180deg,#f6f6f6,#e8e8e8);color:#333;
			font-size:13px;text-decoration:none;line-height:1.2;
		}
		.care-visit-top-btn.is-on{background:linear-gradient(180deg,#4f7f6b,#3d6a5c);color:#fff;border-color:#356052;font-weight:700;}

		/* 予定の右下のボタン */
		.care-visit-item-btns{
			position:absolute;right:2px;bottom:2px;display:flex;gap:2px;z-index:3;
		}
		.care-visit-minibtn{
			width:19px;height:19px;padding:0;border:1px solid rgba(0,0,0,.25);border-radius:4px;
			background:rgba(255,255,255,.9);color:#444;font-size:11px;line-height:1;cursor:pointer;
		}
		.care-visit-minibtn:hover{background:#fff;}
		/* 記録へ飛ぶ(リンク)。ボタンと同じ見た目にする */
		a.care-visit-go{
			display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;
			text-decoration:none;background:#eef5f2;color:#2f5a4b;border-color:#9fbfb2;font-weight:700;
		}
		a.care-visit-go:hover{background:#3d6a5c;color:#fff;}
		.care-visit-go-solo{
			position:absolute;right:2px;bottom:2px;z-index:4;
			width:22px;height:22px;border:1px solid #9fbfb2;border-radius:5px;font-size:12px;line-height:1;
		}
		/* 見るだけの画面では「完」が右下にあるので、その左にずらす */
		.care-visit-viewonly .care-visit-go-solo.has-done{right:24px;}
		/* 予定が重なって細くなったときは、ボタンを小さくして、いちばん使わない「複」を隠す。
		   「詳」は残す(ここからラインを選び直せるため)。 */
		.care-visit-item.is-thin .care-visit-minibtn{width:15px;height:15px;font-size:9px;}
		.care-visit-item.is-thin .care-visit-copy{display:none;}
		.care-visit-item.is-thin .care-visit-done,
		.care-visit-item.is-thin .care-visit-rec{min-width:17px;padding:0 2px;font-size:10px;right:20px;}
		.care-visit-board.is-compact .care-visit-rec{right:20px;}
		.care-visit-item.is-vthin .care-visit-item-btns{gap:1px;right:1px;}
		.care-visit-item.is-vthin .care-visit-minibtn{width:13px;height:13px;font-size:8px;}

		/* ふだんは何も出さない。うまくいかなかったときだけ出す */
		.care-visit-autosave{display:none;}
		.care-visit-autosave.is-moved{
			display:inline-block;flex:0 0 auto;max-width:100%;
			padding:3px 9px;border-radius:6px;background:#e8f5ec;border:1px solid #bfe3cd;
			color:#17603a;font-size:12px;font-weight:700;line-height:1.6;
		}
		.care-visit-autosave.is-error{
			display:inline-block;flex:0 0 auto;max-width:100%;
			padding:3px 9px;border-radius:6px;background:#fdecea;border:1px solid #e0a19b;
			color:#b3261e;font-size:12px;font-weight:700;line-height:1.6;
		}
		.care-visit-pick{
			position:absolute;z-index:50;padding:5px;border:2px solid #4f7f6b;border-radius:6px;
			background:#fff;font-size:14px;max-width:190px;
		}


		/* ---- 予定の枠を小さく見せるとき(9〜18時などを1画面に収めたとき) ---- */
		.care-visit-board.is-compact .care-visit-item{
			flex-direction:row;flex-wrap:wrap;align-items:baseline;gap:0 4px;
			font-size:10px;line-height:1.2;padding:1px 3px;border-width:2px;
		}
		.care-visit-board.is-compact .care-visit-item-time{font-size:9px;}
		.care-visit-board.is-compact .care-visit-minibtn{width:15px;height:15px;font-size:9px;}
		.care-visit-board.is-compact .care-visit-tick{font-size:9px;}

		/* 介護保険の訪問時間区分(Ⅰ1・Ⅰ2 …) */
		.care-visit-item-code{
			position:absolute;top:1px;right:2px;z-index:3;
			padding:0 3px;border-radius:3px;background:rgba(255,255,255,.85);
			border:1px solid rgba(0,0,0,.2);font-size:9px;font-weight:700;color:#8a4b00;line-height:1.4;
		}
		.care-visit-item-code[hidden]{display:none;}

		/* 表の左上のボタン */
		.care-visit-top-btn small{display:block;font-weight:400;font-size:10px;color:inherit;opacity:.75;}
		button.care-visit-top-btn{cursor:pointer;font-family:inherit;}

		/* 絞り込みポップアップ */
		.care-visit-modal-h4{margin:14px 0 6px;font-size:13px;color:#555;}
		.care-visit-modal-btns{display:flex;flex-wrap:wrap;gap:6px;}
		.care-visit-modal-time{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
		.care-visit-modal-time input[type="time"]{padding:7px;border:1px solid #ccc;border-radius:6px;font-size:15px;}
		.care-visit-modal-wide{max-width:860px;}

		/* ---- 予定作成のポップアップ ----
		   「本日 / 週間 / 月間 / 日付指定」の切り替えは、
		   このサイトでは本文中の<script>が消えてしまうため、CSSだけで行う。 */
		.care-visit-make-tabs{display:flex;flex-wrap:wrap;gap:6px;align-items:center;}
		.care-visit-make-tabs > input[type="radio"]{position:absolute;opacity:0;width:0;height:0;}
		.care-visit-make-tabs > label{
			padding:8px 16px;border:1px solid #ccc;border-radius:16px;background:#f6f6f6;
			color:#444;font-size:13px;font-weight:600;cursor:pointer;
		}
		.care-visit-make-tabs > input:focus-visible + label{outline:2px solid #3d6a5c;outline-offset:2px;}
		.care-visit-make-tabs > input:checked + label{background:#3d6a5c;border-color:#356052;color:#fff;}
		.care-visit-make-pane{flex:1 1 100%;display:none;padding-top:6px;}
		#care-make-today:checked ~ .care-visit-make-pane[data-pane="today"],
		#care-make-week:checked ~ .care-visit-make-pane[data-pane="week"],
		#care-make-month:checked ~ .care-visit-make-pane[data-pane="month"],
		#care-make-dates:checked ~ .care-visit-make-pane[data-pane="dates"]{display:block;}
		/* 文の左にチェックを置く形(.care-visit-label は中の入力を縦に積むため) */
		.care-visit-label.care-visit-inlinechk{display:flex;flex-direction:row;align-items:center;gap:7px;}
		.care-visit-label.care-visit-inlinechk input{display:inline-block;width:auto;margin:0;padding:0;}
		.care-visit-daychk{
			display:inline-flex;align-items:center;gap:4px;padding:5px 9px;
			border:1px solid #ccc;border-radius:6px;background:#fff;font-size:13px;cursor:pointer;
		}
		.care-visit-daychk:has(input:checked){background:#e4f0ea;border-color:#3d6a5c;font-weight:700;}
		.care-visit-mdays .care-visit-daychk{min-width:38px;justify-content:center;padding:4px 5px;font-size:12px;}
		#care-visit-make-modal textarea{
			width:100%;box-sizing:border-box;padding:8px;border:1px solid #ccc;border-radius:6px;font-size:15px;
		}
		button.care-visit-rail-make{
			background:linear-gradient(180deg,#4f7f6b,#3d6a5c);border-color:#356052;color:#fff;font-weight:700;
		}

		/* ラインの一覧(消すため) */
		.care-visit-linelist{margin-top:6px;border-top:1px solid #e6e6e6;}
		.care-visit-linerow{
			display:flex;align-items:center;justify-content:space-between;gap:8px;
			padding:7px 2px;border-bottom:1px solid #f0f0f0;font-size:14px;
		}
		.care-visit-linerow small{margin-left:5px;color:#777;font-size:12px;}
		.care-visit-linerow em{margin-left:6px;color:#b3261e;font-size:12px;font-style:normal;}
		.care-visit-delline{padding:4px 12px !important;font-size:13px !important;}

		/* 全体表示ポップアップ */
		.care-visit-ov-scroll{position:relative;max-height:70vh;overflow:auto;border:1px solid #ddd;border-radius:8px;background:#fff;}
		.care-visit-ov-board{position:relative;display:flex;align-items:flex-start;}
		.care-visit-ov-timecol{position:sticky;left:0;z-index:4;flex:0 0 26px;width:26px;}
		.care-visit-ov-times{position:relative;width:26px;background:#fafafa;border-right:1px solid #ccc;}
		.care-visit-ov-head-time{background:#f2f2f2;border-right:1px solid #ccc;}
		.care-visit-ov-hour{position:absolute;left:0;right:0;border-top:1px solid #e6e6e6;font-size:9px;color:#888;padding-left:3px;line-height:1.1;}
		.care-visit-ov-col{flex:1 1 0;min-width:52px;}
		.care-visit-ov-head{
			position:sticky;top:0;z-index:3;height:22px;box-sizing:border-box;
			display:flex;align-items:center;justify-content:center;
			background:#f2f2f2;border-bottom:1px solid #ccc;border-right:1px solid #e6e6e6;
			font-size:10px;font-weight:700;overflow:hidden;white-space:nowrap;
		}
		.care-visit-ov-body{position:relative;border-right:1px solid #eee;cursor:pointer;}
		.care-visit-ov-line{position:absolute;left:0;right:0;height:0;border-top:1px solid #eee;}
		.care-visit-ov-item{position:absolute;border:1px solid #999;border-radius:2px;pointer-events:none;}
		.care-visit-ov-item.is-copied{opacity:.35;border-style:dashed;}
		.care-visit-ov-now{position:absolute;left:0;right:0;height:0;border-top:2px solid #b3261e;z-index:4;pointer-events:none;}
		/* 列を隠すボタン(担当も訪問も無い列だけに出る) */
		.care-visit-hidecol{
			margin-left:4px;padding:0 5px;border:1px solid #ddd;border-radius:5px;
			background:#fff;color:#aaa;font-size:11px;line-height:1.5;cursor:pointer;font-family:inherit;
		}
		.care-visit-hidecol:hover{background:#fdecea;border-color:#e0a19b;color:#b3261e;}
		.care-visit-showcols{
			flex:0 0 auto;padding:3px 10px;border:1px solid #cfd8d4;border-radius:11px;
			background:#f6f8f7;color:#555;font-size:12px;line-height:1.6;cursor:pointer;
			font-family:inherit;white-space:nowrap;
		}
		.care-visit-histbox{display:flex;gap:4px;}
		.care-visit-history{
			flex:1 1 0;display:inline-flex;align-items:center;justify-content:center;height:32px;padding:0;
			border:1px solid #3d6a5c;border-radius:7px;background:#fff;color:#3d6a5c;cursor:pointer;font-family:inherit;
		}
		.care-visit-history svg{width:18px;height:18px;display:block;}
		.care-visit-history:hover{background:#eef3f0;}
		.care-visit-history[disabled]{opacity:.35;cursor:default;background:#fff;}
		.care-visit-printmode .care-visit-histbox{display:none;}
		/* 未割当の見出しの中に置く「振り分け」。見出しは高さが決まっているので小さめに */
		button.care-visit-spread-col{
			margin-top:2px;padding:2px 10px !important;font-size:11px !important;line-height:1.5 !important;
			border-radius:10px;white-space:nowrap;
		}
		/* 未割当はいちばん左。横に動かしても見えるように貼りつける */
		.care-visit-ov-col.is-un{position:sticky;left:26px;z-index:3;background:#fff;box-shadow:2px 0 4px rgba(0,0,0,.10);}
		.care-visit-ov-col.is-un .care-visit-ov-head{z-index:5;background:#fdecea;color:#b3261e;}
		/* 振り分けボタン */
		.care-visit-ov-tools{margin:8px 0 10px;}
		.care-visit-ov-tools .care-visit-hint{margin:5px 0 0;}
		.care-visit-ov-msg{margin-left:8px;font-size:13px;font-weight:700;color:#17603a;}
		.care-visit-ov-msg.is-error{color:#b3261e;}

		/* 利用者を選ぶ小さなプルダウン(予定のすぐ右に出す) */
		.care-visit-pick{
			position:fixed;z-index:99999;width:232px;padding:6px;
			border:2px solid #4f7f6b;border-radius:8px;background:#fff;
			box-shadow:0 6px 20px rgba(0,0,0,.25);font-size:14px;
		}
		.care-visit-pick[hidden]{display:none;}
		/* 頭文字のボタン(あ・か・さ…)。指でも押せる大きさにする */
		.care-visit-pick-keys{display:flex;flex-wrap:wrap;gap:3px;}
		.care-visit-pick-key{
			flex:0 0 auto;min-width:30px;padding:6px 4px;border:1px solid #cfd8d4;border-radius:6px;
			background:#f6f8f7;color:#333;font-size:14px;line-height:1.1;cursor:pointer;font-family:inherit;
		}
		.care-visit-pick-key:disabled{color:#ccc;background:#fafafa;cursor:default;}
		.care-visit-pick-key.is-on{background:#4f7f6b;border-color:#4f7f6b;color:#fff;font-weight:700;}
		.care-visit-pick-list{max-height:240px;overflow:auto;margin-top:5px;}
		.care-visit-pick-list button{
			display:block;width:100%;box-sizing:border-box;text-align:left;
			padding:6px 7px;border:0;border-bottom:1px solid #f0f0f0;background:none;
			font-size:14px;color:#333;cursor:pointer;font-family:inherit;
		}
		.care-visit-pick-list button:hover{background:#eef5f1;}
		.care-visit-pick-none{margin:6px 2px;color:#999;font-size:12px;}


		/* 表の左上のマスに入れた「絞込」 */
		/* 2.9.0: ここで position:relative を書いていたため、上で付けた position:sticky が
		   打ち消され、「絞込」のマスだけ一緒にスクロールしてしまっていた。
		   位置の指定は上のルール(sticky)にまかせ、ここでは中身の並べ方だけにする。 */
		.care-visit-corner{display:flex;align-items:center;justify-content:center;padding:0;}
		.care-visit-corner-btn{
			width:100%;height:100%;box-sizing:border-box;padding:0;border:0;
			background:linear-gradient(180deg,#f6f6f6,#e2e2e2);color:#333;
			font-size:11px;font-weight:700;line-height:1.1;cursor:pointer;font-family:inherit;
		}
		.care-visit-corner-btn:hover{background:#e8f0ec;}

		/* 列の見出しの「振」(振り分け) */
		.care-visit-colname{display:inline-flex;align-items:center;gap:3px;}
		.care-visit-reassign{
			padding:0 4px;border:1px solid #b98b3a;border-radius:4px;
			background:#fdf3e0;color:#8a5a00;font-size:10px;line-height:1.5;cursor:pointer;font-family:inherit;
		}
		.care-visit-reassign:hover{background:#f8e6c6;}

		/* 資格が合わない枠 */
		.care-visit-item.is-badfit{box-shadow:inset 0 0 0 2px #b3261e;}
		.care-visit-item-warn{
			position:absolute;top:1px;right:2px;z-index:4;width:13px;height:13px;
			border-radius:50%;background:#b3261e;color:#fff;
			font-size:10px;font-weight:700;line-height:13px;text-align:center;cursor:help;
		}
		.care-visit-item-warn{z-index:6;}
		.care-visit-item-warn[hidden]{display:none;}
		/* 注意の印があるときは、区分の表示を少し左へよける */
		.care-visit-item.is-badfit .care-visit-item-code{right:17px;}


		/* 列の見出し(ラインの名前 + その日の担当) */
		.care-visit-linename{font-size:10px;color:#666;font-weight:700;display:inline-flex;align-items:center;gap:3px;}
		.care-visit-colstaff{font-size:13px;font-weight:700;}
		.care-visit-pickstaff{
			max-width:100%;padding:1px 6px;border:1px solid #bfbfbf;border-radius:5px;
			background:#fff;color:#222;font-size:13px;font-weight:700;line-height:1.4;
			cursor:pointer;font-family:inherit;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;
		}
		.care-visit-pickstaff:hover{background:#eef5f1;border-color:#4f7f6b;}
		.care-visit-pickstaff.is-empty{color:#999;font-weight:400;border-style:dashed;}
		.care-visit-colhead.care-visit-kind-rehab{background:#f6eefb;}
		/* 3.1.4: 列の見出しの「欠」(その日だけ欠勤にする) */
		.care-visit-absentbtn{
			margin-left:3px;padding:0 5px;border:1px solid #e0b4ae;border-radius:4px;
			background:#fdecea;color:#b3261e;font-size:10px;font-weight:800;line-height:1.5;
			cursor:pointer;font-family:inherit;vertical-align:middle;
		}
		.care-visit-absentbtn:hover{background:#b3261e;color:#fff;border-color:#8f1d18;}
		/* この日の欠勤を出す帯 */
		.care-visit-absentbar{
			display:flex;flex-wrap:wrap;gap:8px;align-items:center;
			background:#fdecea;border:1px solid #f0c7c2;
		}
		.care-visit-absentbar-txt{font-size:13px;font-weight:700;color:#8f1d18;}
		/* 3.1.5: 外部サービスのポップアップ */
		.care-visit-extform{border:1px solid #e2e2e8;border-radius:8px;background:#fafafd;padding:8px 10px;margin:4px 0 10px;}
		.care-visit-exttable{border-collapse:collapse;width:100%;font-size:13px;background:#fff;}
		.care-visit-exttable th,.care-visit-exttable td{border:1px solid #e0e0e0;padding:5px 7px;text-align:left;vertical-align:middle;}
		.care-visit-exttable th{background:#f2f2f2;font-weight:700;white-space:nowrap;font-size:12px;}
		.care-visit-exttable td:first-child{white-space:nowrap;}
		.care-visit-extdel{margin:0;padding:2px 10px;font-size:12px;}
		.care-exlist-alarm{white-space:nowrap;color:#5b5f7a;}
		/* 3.1.9: 「いますぐ送る / 日時を決めて送る」 */
		.care-send-when{
			display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;
			margin:6px 0;padding:6px 8px;border:1px solid #e0e0e0;border-radius:7px;background:#fafafa;
		}
		.care-send-when label{display:inline-flex;align-items:center;gap:4px;font-size:13px;cursor:pointer;}
		.care-send-when input[type="datetime-local"]{padding:5px 7px;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:13px;}
		/* 3.1.6: アラームの出し先(外部サービスのポップアップ) */
		.care-visit-alarmto{
			display:flex;flex-wrap:wrap;gap:12px;align-items:center;
			margin:2px 0 6px;padding:6px 8px;border:1px solid #e2e2e8;border-radius:7px;background:#fff;
		}
		.care-visit-alarmto-txt{font-size:12px;font-weight:700;color:#555;}
		.care-visit-alarmto-item{display:inline-flex;align-items:center;gap:4px;font-size:13px;cursor:pointer;}
		/* 3.3.1: 週まるごとのコピー */
		.care-visit-copyweek{
			display:inline-flex;flex-wrap:wrap;gap:6px;align-items:center;
			padding:4px 8px;border:1px solid #cddbd5;border-radius:8px;background:#f2f8f5;
		}
		.care-visit-cw-txt{font-size:12px;font-weight:700;color:#3d6a5c;}
		.care-visit-copyweek label{display:inline-flex;align-items:center;gap:3px;font-size:12px;color:#555;}
		.care-visit-copyweek input[type="date"],.care-visit-copyweek select{
			padding:4px 6px;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:12px;
		}
		.care-visit-cw-span{color:#777;font-size:11.5px;}
		/* 3.5.0: 同じ人が2つ以上のラインに入っているとき */
		/* 3.5.4: 担当の名前と「兼」は横に並べる。
		   縦に積むと、見出しの高さに入りきらず名前がつぶれていた。 */
		.care-visit-staffrow{
			display:flex;align-items:center;justify-content:center;gap:3px;
			max-width:100%;min-width:0;width:100%;
		}
		.care-visit-staffrow .care-visit-pickstaff{flex:0 1 auto;min-width:0;}
		.care-visit-staffrow .care-visit-kenmu{flex:0 0 auto;margin-left:0;}
		.care-visit-kenmu{
			display:inline-block;margin-left:3px;padding:0 4px;border-radius:7px;
			background:#e8e2f5;border:1px solid #c3b6e0;color:#5b3f96;
			font-size:9px;font-weight:700;line-height:1.5;vertical-align:middle;
		}
		/* 担当をえらぶ窓の印 */
		.care-visit-pickrow.is-nofit{opacity:.55;}
		.care-visit-pickmark{display:block;margin-top:2px;font-size:11px;font-weight:700;}
		.care-visit-pickmark.is-ng{color:#b3261e;}
		.care-visit-pickmark.is-double{color:#5b3f96;}
		/* 3.1.8: 「毎週」のときの、曜日と何週おき */
		.care-visit-extweek{
			display:flex;flex-wrap:wrap;gap:6px 10px;align-items:center;
			margin:2px 0 6px;padding:6px 8px;border:1px solid #e2e2e8;border-radius:7px;background:#fff;
		}
		.care-visit-extweek[hidden]{display:none !important;}
		.care-visit-extweek-txt{font-size:12px;font-weight:700;color:#555;}
		.care-visit-wd{
			display:inline-flex;align-items:center;gap:3px;padding:2px 6px;
			border:1px solid #d8d8e0;border-radius:6px;background:#fafafd;
			font-size:13px;cursor:pointer;
		}
		.care-visit-wd:has(input:checked){background:#e6f0ec;border-color:#9ec2b3;font-weight:700;}
		.care-visit-wd-0 span{color:#b3261e;}
		.care-visit-wd-6 span{color:#2f6fb0;}
		.care-visit-everywrap{margin-left:auto;min-width:150px;}
		.care-visit-everywrap select{width:100%;}
		/* 3.1.6: 職員のトップ画面に出す、外部サービスのアラーム */
		.care-mypage-alarms{
			margin:8px 0;padding:8px 10px;border:2px solid #e0b44a;border-radius:9px;background:#fff8e6;
		}
		.care-mypage-alarms-h{margin:0 0 6px;font-size:14px;font-weight:700;color:#7a5200;}
		.care-mypage-alarm{
			display:flex;flex-wrap:wrap;gap:8px;align-items:baseline;
			padding:5px 0;border-top:1px solid #f0dfb4;font-size:14px;
		}
		/* 3.6.9: 「既読」。押した人の画面からだけ消える */
		.care-mypage-alarm-readform{margin:0 0 0 auto;}
		.care-mypage-alarm-read{
			padding:3px 12px;border:1px solid #d3b877;border-radius:14px;
			background:#fff;color:#7a5a00;font-size:12px;font-weight:700;
			line-height:1.4;cursor:pointer;font-family:inherit;white-space:nowrap;
		}
		.care-mypage-alarm-read:hover{background:#f6e6bd;border-color:#b98b3a;}
		.care-mypage-alarm-read:active{transform:translateY(1px);}
		.care-mypage-alarm:first-of-type{border-top:0;}
		.care-mypage-alarm-time{font-weight:700;color:#7a5200;white-space:nowrap;}
		.care-mypage-alarm-name{font-weight:700;}
		.care-mypage-alarm-note{font-size:12.5px;color:#6a6a6a;}


		.care-visit-absentbar-note{font-size:11.5px;color:#8a5f5a;}
		.care-visit-absentchip{
			display:inline-flex;align-items:center;gap:5px;padding:3px 6px 3px 10px;
			border:1px solid #e0b4ae;border-radius:14px;background:#fff;font-size:13px;color:#8f1d18;
		}
		.care-visit-unabsent{
			padding:1px 8px;border:1px solid #cddbd5;border-radius:10px;
			background:#f7fbf9;color:#3d6a5c;font-size:11px;font-weight:700;
			cursor:pointer;font-family:inherit;
		}
		.care-visit-unabsent:hover{background:#3d6a5c;color:#fff;border-color:#3d6a5c;}
		/* 3.0.5: 「前日」「前月」の列。見せるだけで、DBには何も入っていない。
		   ふつうの予定と見分けられるよう、点線・薄い色にする。 */
		.care-visit-column-past{flex:0 0 132px;width:132px;background:#fbfbfa;}
		.care-visit-colhead.care-visit-kind-past{background:#efeeea;color:#6b6659;}
		.care-visit-col.care-visit-kind-past{background-color:#fbfbfa;}
		.care-visit-pastitem{
			position:absolute;box-sizing:border-box;overflow:hidden;
			border:2px dashed #b9b4a6;border-radius:5px;background:rgba(255,255,255,.65);
			padding:2px 3px;font-size:10.5px;line-height:1.25;color:#6b6659;
		}
		.care-visit-pastitem .care-visit-item-name{display:block;font-weight:700;}
		.care-visit-pastitem .care-visit-item-time{display:block;font-size:9.5px;}
		.care-visit-pastitem .care-visit-item-title{display:block;}
		.care-visit-pastitem .care-visit-item-title.is-bold{font-weight:800;color:#3d3a33;}
		.care-visit-pastadd{
			position:absolute;right:2px;bottom:2px;z-index:3;
			width:22px;height:20px;padding:0;border:1px solid #9aa79f;border-radius:5px;
			background:#eef4f1;color:#3d6a5c;font-size:12px;font-weight:700;line-height:1;
			cursor:pointer;font-family:inherit;
		}
		.care-visit-pastadd:hover{background:#3d6a5c;color:#fff;border-color:#3d6a5c;}
		.care-visit-pastnone{margin:8px 4px;font-size:11px;color:#999;text-align:center;}
		.care-visit-column-past .care-visit-hidecol{text-decoration:none;}
		.care-visit-colfoot.care-visit-kind-rehab{background:#faf4fd;}
		.care-visit-col.care-visit-kind-rehab{background-color:#fdfaff;}

		/* 担当をえらぶポップアップ */
		.care-visit-picklist{display:flex;flex-direction:column;gap:4px;margin:6px 0;max-height:34vh;overflow:auto;}
		.care-visit-pickrow{
			display:flex;align-items:baseline;gap:8px;width:100%;box-sizing:border-box;
			padding:8px 10px;border:1px solid #ddd;border-radius:7px;background:#fff;
			text-align:left;cursor:pointer;font-family:inherit;
		}
		.care-visit-pickrow:hover{background:#eef5f1;border-color:#4f7f6b;}
		.care-visit-pickrow strong{font-size:15px;}
		.care-visit-pickrow span{font-size:12px;color:#666;}
		.care-visit-pickrow em{margin-left:auto;font-size:11px;color:#888;font-style:normal;}
		.care-visit-otherstaff{margin-top:10px;border-top:1px solid #eee;padding-top:8px;}
		.care-visit-otherstaff > summary{cursor:pointer;font-size:13px;color:#555;}
		.care-visit-modal-foot{margin-top:12px;text-align:right;}

		@media (max-width:700px){
			/* 縦並びに変えたら、幅は画面いっぱいに伸ばす。
			   もとの align-items:flex-start のままだと、表の幅そのままに広がって
			   ページごと横にはみ出し、表の中で横スクロールできなくなる。 */
			.care-visit-layout{flex-direction:column;align-items:stretch;}
			.care-visit-main{width:100%;max-width:100%;min-width:0;}
			.care-visit-rail{position:static;flex:1 1 auto;width:100%;flex-direction:row;flex-wrap:wrap;}
			.care-visit-rail-box{flex:1 1 160px;}
			.care-visit-icon{display:inline-block;width:auto;margin-right:5px;}
			.care-visit-rail-btn{display:inline-block;width:auto;margin-right:4px;padding:6px 10px;}
		}

		/* 3.5.4: 下の欄は「入れる」ための場所。
		   いま入っているものは、たたんでおく(読むのは上の「今日の予定」) */
		.care-visit-side-show{margin:2px 0 6px;}
		.care-visit-side-show > summary{
			display:inline-block;padding:2px 8px;border:1px solid #d8d8d8;border-radius:12px;
			background:#f4f4f4;color:#666;font-size:11px;cursor:pointer;list-style:none;
		}
		.care-visit-side-show > summary::-webkit-details-marker{display:none;}
		.care-visit-side-show > summary:hover{background:#e8f0ec;border-color:#4f7f6b;color:#33513f;}
		.care-visit-side-show[open] > summary{margin-bottom:4px;}
		/* 3.5.9: 「＋ 〇〇 を入れる」。押すと窓が開く */
		.care-visit-sideadd-btn{
			display:block;width:100%;box-sizing:border-box;margin-top:6px;padding:8px 10px;
			border:1px dashed #9fb8ac;border-radius:8px;background:#f2f7f4;
			color:#33513f;font-size:13px;font-weight:700;font-family:inherit;cursor:pointer;
		}
		.care-visit-sideadd-btn:hover{background:#e3efe8;border-color:#4f7f6b;}

		/* 3.5.4: 今日の予定の窓 */
		.care-visit-todaybox{max-width:620px;}
		/* 3.5.6: カテゴリごとの表 */
		.care-visit-today-table{
			width:100%;border-collapse:collapse;margin:2px 0 12px;
			font-size:13px;line-height:1.6;background:#fff;
		}
		.care-visit-today-table th,.care-visit-today-table td{
			border:1px solid #e0e0e0;padding:5px 8px;text-align:left;vertical-align:top;
		}
		.care-visit-today-table thead th{
			background:#eef2f0;color:#33513f;font-size:12px;font-weight:700;white-space:nowrap;
		}
		.care-visit-today-table tbody th{
			background:#f6f6f6;font-size:12px;font-weight:700;white-space:nowrap;width:5.5em;
		}
		/* 中身の列に場所をゆずるため、日付や区分の列は中身ぶんの幅にする */
		.care-visit-today-nw{white-space:nowrap;width:1%;color:#555;}
		.care-visit-today-res{white-space:nowrap;width:1%;}

		.care-visit-palette{margin-top:6px;padding:10px 12px;border:1px solid #ddd;border-radius:8px;background:#fbfbfb;}
		.care-visit-pal-select{padding:6px 8px;border:1px solid #ccc;border-radius:6px;font-size:14px;}
		.care-visit-chip{
			padding:7px 12px;border-radius:8px;font-size:13px;cursor:pointer;
			border:2px solid var(--chip,#bbb);background:var(--chipbg,#f2f2f2);color:#333;
		}
		.care-visit-chip.is-on{box-shadow:0 0 0 3px rgba(0,0,0,.18);font-weight:700;}
		.care-visit-chip-erase{--chip:#b3261e;--chipbg:#fdeceb;}
		.care-visit-hint{margin:8px 0 0;font-size:12px;color:#666;line-height:1.7;}
		.care-visit-addstaff{margin:10px 0;border:1px solid #ddd;border-radius:8px;background:#fbfbfb;}
		.care-visit-addstaff > summary{padding:10px 12px;cursor:pointer;font-size:14px;font-weight:700;}
		.care-visit-addstaff-body{padding:0 12px 12px;}
		.care-visit-addstaff-form{display:flex;flex-wrap:wrap;gap:10px;align-items:flex-end;margin:8px 0;}
		.care-visit-addstaff-form label{display:flex;flex-direction:column;gap:3px;font-size:12px;color:#555;}
		.care-visit-addstaff-form select,.care-visit-addstaff-form input{padding:8px;border:1px solid #ccc;border-radius:6px;font-size:15px;}
		.care-visit-savebar{margin:10px 0;display:flex;gap:10px;align-items:center;}
		.care-visit-actrow{display:flex;flex-wrap:wrap;gap:8px 10px;align-items:center;}
		.care-visit-actrow form{display:inline-flex;flex-wrap:wrap;gap:6px;margin:0;}
		.care-visit-actrow .care-visit-dropcopy{color:#a3341f;border-color:#e6b3a8;}
		.care-visit-copybar{flex-wrap:wrap;padding:8px 12px;background:#fff8e6;border:1px dashed #e0b84a;border-radius:8px;}
		.care-visit-copybar-txt{font-size:14px;}
		.care-visit-copybar .care-btn{white-space:nowrap;}
		.care-visit-copybar .care-visit-dropcopy{color:#a3341f;border-color:#e6b3a8;}
		.care-visit-dirty{color:#b3261e;font-size:13px;font-weight:700;}
		/* 3.5.4: 版の帯は、部品が読み込めていないときだけ出る(読み込めたらJSが消す) */
		.care-visit-ver{
			margin-left:auto;padding:2px 7px;border:1px solid #f0c7c2;border-radius:6px;
			background:#fdecea;color:#b3261e;font-size:11px;font-weight:700;
		}
		.care-visit-ver[hidden]{display:none;}
		.care-visit-hit{position:absolute;inset:0;z-index:1;cursor:crosshair;}

		.care-visit-col{
			position:relative;min-width:112px;border-right:1px solid #e0e0e0;
			background-image:repeating-linear-gradient(to bottom,#e2e2e2 0 1px,transparent 1px 100%);
			background-repeat:repeat-y;
		}
		.care-visit-onduty{position:absolute;left:0;right:0;background:rgba(120,180,150,.10);}
		.care-visit-item{
			position:absolute;z-index:2;box-sizing:border-box;overflow:hidden;
			padding:2px 4px;border-radius:4px;border:2px solid #7aa7c7;
			background:#dcebf7;font-size:11px;line-height:1.25;cursor:pointer;
			display:flex;flex-direction:column;gap:1px;
		}
		.care-visit-item{touch-action:none;}
		/* 見るだけのときは、枠の上でも指でスクロールできるようにする */
		.care-visit-viewonly .care-visit-item{touch-action:auto;cursor:default;}
		.care-visit-item.is-selected{box-shadow:0 0 0 3px rgba(0,0,0,.28);}
		/* 前の日から複写したままの「下書き」。
		   まだ本物の予定ではないので、
		   ・薄く点線で、ふつうの予定の後ろに敷く
		   ・件数に入れない(PHP側)
		   ・動かせない(つまみも「完」も出さない)
		   動かすか「詳」から直すと、ふつうの予定になる。要らなければ「複写ぶんを消す」。 */
		.care-visit-item.is-copied{
			z-index:1;opacity:.45;border-style:dashed;cursor:default;
			background-image:repeating-linear-gradient(135deg,rgba(255,255,255,.45) 0 6px,transparent 6px 12px);
		}
		.care-visit-item.is-copied:hover{opacity:.75;}
		/* 下書きは動かさない。つまみ・完・複は出さない(消すと詳は残す) */
		.care-visit-item.is-copied .care-visit-resize,
		.care-visit-item.is-copied .care-visit-done,
		.care-visit-item.is-copied .care-visit-rec,
		.care-visit-item.is-copied .care-visit-copy{display:none !important;}
		.care-visit-item.is-copied .care-visit-item-name{cursor:default;}
		/* 下書きだと分かるよう、右上に小さく印を出す */
		.care-visit-item.is-copied::after{
			content:'下書き';position:absolute;left:2px;bottom:1px;z-index:2;
			font-size:8px;font-weight:700;color:#6b4a10;background:rgba(255,255,255,.8);
			border-radius:3px;padding:0 3px;line-height:1.5;pointer-events:none;
		}
		.care-visit-item.is-dragging{opacity:.85;box-shadow:0 4px 14px rgba(0,0,0,.35);z-index:9;pointer-events:none;}
		/* 動かしている間、入る先の列に色を付ける(貼りついた「未割当」の列と重なっても分かるように) */
		.care-visit-col.is-drop{background-color:#eaf5ef !important;outline:2px solid #4f7f6b;outline-offset:-2px;}
		.care-visit-kind-un.is-drop{background-color:#fdeee0 !important;outline-color:#c9761a;}
		.care-visit-item-name{font-weight:700;position:relative;z-index:5;cursor:pointer;}
		/* 完了した訪問。動かせないので、見ただけで分かるようにする */
		.care-visit-item.is-done{opacity:.72;border-style:double;}
		/* 提供表を入れ直したときに残した実績。管理者だけが動かせる */
		.care-visit-item.is-hardlock{box-shadow:0 0 0 2px #b8860b inset;}
		.care-visit-lockmark{position:absolute;right:2px;bottom:1px;font-size:10px;line-height:1;}
		.care-visit-item.is-done .care-visit-item-name{text-decoration:line-through;cursor:default;}
		/* 3.0.0: マスのボタンは「記」「完」の2つだけ。左に記、右に完。 */
		.care-visit-done{
			position:absolute;right:2px;bottom:2px;left:auto;z-index:4;
			width:22px;height:22px;padding:0;border:1px solid rgba(0,0,0,.25);border-radius:5px;
			background:rgba(255,255,255,.9);color:#444;font-size:12px;font-weight:700;line-height:1;cursor:pointer;font-family:inherit;
		}
		.care-visit-done:hover{background:#fff;}
		.care-visit-item.is-done .care-visit-done{background:#3d6a5c;color:#fff;border-color:#2f5a4c;font-weight:700;}
		/* 訪問先での記録(バイタル・排泄・食事・訪問記録)
		   3.0.5: 左端から、右の「完」のすぐ左へ移した(押す場所を right 寄せでそろえる) */
		.care-visit-rec{
			position:absolute;right:27px;left:auto;bottom:2px;z-index:4;
			width:26px;height:22px;padding:0;border:1px solid #b08fc0;border-radius:5px;
			background:#f6eefb;color:#5d3a72;font-size:12px;font-weight:700;line-height:1;cursor:pointer;font-family:inherit;
		}
		.care-visit-rec.has-rec{background:#7a4f97;color:#fff;border-color:#63397e;}
		/* 3.0.5: 予定詳細で「太字」にチェックした訪問は、内容を太く・少し大きく出す */
		.care-visit-item.is-boldtitle .care-visit-item-title{font-weight:800;font-size:12px;color:#222;}
		.care-visit-titlerow{display:flex;gap:8px;align-items:center;}
		.care-visit-titlerow > input[type="text"]{flex:1 1 auto;min-width:0;}
		.care-visit-boldwrap{
			flex:0 0 auto;display:inline-flex;align-items:center;gap:4px;
			padding:6px 9px;border:1px solid #cddbd5;border-radius:6px;background:#f7fbf9;
			font-size:12px;color:#3d6a5c;font-weight:700;cursor:pointer;white-space:nowrap;
		}
		.care-visit-boldwrap input{width:15px;height:15px;margin:0;accent-color:#3d6a5c;}
		/* 3.1.3: 外部サービスの一覧 */
		.care-exlist-lead{font-size:13px;color:#555;line-height:1.8;margin:6px 0 10px;}
		.care-exlist-nav{display:flex;flex-wrap:wrap;gap:8px 12px;align-items:center;margin:8px 0 12px;}
		.care-exlist-label{font-size:17px;}
		.care-exlist-span{display:inline-flex;gap:4px;}
		.care-exlist-count{font-size:12px;color:#777;}
		.care-exlist-none{padding:14px;background:#fafafa;border:1px solid #eee;border-radius:8px;color:#777;}
		.care-exlist-table{border-collapse:collapse;width:100%;font-size:13px;background:#fff;}
		.care-exlist-table th,.care-exlist-table td{border:1px solid #ddd;padding:6px 8px;text-align:left;vertical-align:top;}
		.care-exlist-table th{background:#f2f2f2;font-weight:700;white-space:nowrap;}
		.care-exlist-table .care-exlist-date,.care-exlist-table .care-exlist-time{white-space:nowrap;}
		.care-exlist-title.is-bold{font-weight:800;}
		.care-exlist-table tr.is-clash td{background:#fdecea;}
		.care-exlist-badge{
			display:inline-block;padding:1px 8px;border-radius:10px;
			background:#b3261e;color:#fff;font-size:11px;font-weight:700;
		}
		.care-exlist-clash small{display:block;margin-top:3px;color:#8a2c22;font-size:11px;}
		.care-exlist-ok{color:#bbb;}
		.care-exlist-note{color:#666;}
		.care-exlist-foot{margin-top:12px;font-size:12px;color:#777;line-height:1.8;}

		/* 3.1.3: 同じ利用者の予定が、同じ時間帯に重なっているとき。
		   枠を赤く塗り、枠のいちばん上の帯で理由を出す。
		   3.1.8: 帯は半透明をやめて、べたの赤にした。
		   下の字が透けて見えて、どちらも読めなくなっていたため。
		   帯のぶんは、枠の中身を上げ底(padding-top)して空けておく。 */
		.care-visit-item.is-clash{
			background:#fdd9d5 !important;border-color:#b3261e !important;
			box-shadow:0 0 0 1px rgba(179,38,30,.35) inset;
			padding-top:2.9em;
		}
		.care-visit-clash{
			position:absolute;left:0;right:0;top:0;z-index:5;
			/* 右上の×に字が重ならないよう、右だけ広めに空ける */
			box-sizing:border-box;padding:2px 15px 2px 4px;
			background:#b3261e;color:#fff;
			font-size:9.5px;font-weight:700;line-height:1.2;
			letter-spacing:.2px;
			word-break:break-all;pointer-events:none;
			border-radius:3px 3px 0 0;
			border-bottom:1px solid #7f1a15;
			/* 2行までにして、下の名前・時刻が読めるようにする
			   (全文は、マスにマウスを乗せると出る) */
			display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;
			overflow:hidden;max-height:2.8em;
		}
		/* 細いマスでは字を小さく、1行だけにする */
		.care-visit-item.is-clash.is-thin{padding-top:2.6em;}
		.care-visit-item.is-clash.is-vthin{padding-top:2.4em;}
		.care-visit-item.is-thin .care-visit-clash{font-size:8.5px;max-height:2.6em;}
		.care-visit-item.is-vthin .care-visit-clash{font-size:8px;padding:2px 2px;max-height:2.4em;}
		/* 背が低い枠では、帯を1行にして場所を取らない
		   (細いマスでは、知らせの言葉そのものも短くしている。assets/js/visit.js) */
		.care-visit-item.is-clash.is-short{padding-top:1.7em;}
		.care-visit-item.is-short .care-visit-clash{-webkit-line-clamp:1;max-height:1.6em;}

		/* 3.1.0: 外部サービスの繰り返し */
		.care-visit-repeatwrap{
			margin:6px 0;padding:8px 10px;border:1px solid #d7d9e6;border-radius:8px;background:#f5f6fb;
		}
		.care-visit-repeatwrap[hidden]{display:none !important;}
		.care-visit-repeathint{margin:4px 0 0;font-size:11.5px;color:#777;}
		.care-visit-untilwrap[hidden]{display:none !important;}
		/* 外部サービスのマス。よその事業所のものだと分かるよう、左に太い線 */
		.care-visit-item.care-visit-ext{border-left-width:5px;}
		/* 3.0.3: 1件だけ取り消す「×」。記・完と場所が重ならないよう、右上に置く。 */
		.care-visit-del{
			position:absolute;right:2px;top:2px;z-index:5;
			width:18px;height:18px;padding:0;border:1px solid rgba(0,0,0,.2);border-radius:5px;
			background:rgba(255,255,255,.85);color:#a33;font-size:12px;font-weight:700;line-height:1;
			cursor:pointer;font-family:inherit;opacity:.55;
		}
		.care-visit-del:hover{opacity:1;background:#fdecea;border-color:#e0b4ae;}
		.care-visit-item.is-thin .care-visit-del,
		.care-visit-board.is-compact .care-visit-del{width:15px;height:15px;font-size:10px;}
		.care-visit-item.is-vthin .care-visit-del{display:none;}
		/* 見るだけ(スマホ)のときは出さない */
		.care-visit-viewonly .care-visit-del{display:none;}
		.care-vital-row{display:flex;gap:10px;margin:8px 0;}
		.care-vital-row label{flex:1 1 0;display:block;font-size:13px;color:#444;}
		.care-vital-row input{
			display:block;width:100%;margin-top:3px;padding:9px;border:1px solid #ccc;border-radius:6px;
			font-size:17px;box-sizing:border-box;
		}
		/* 3.0.0: 記録の窓のタブ(バイタル/排泄/食事/訪問記録) */
		.care-visit-recbox{max-width:560px;}
		.care-rec-tabs{display:flex;flex-wrap:wrap;gap:4px;margin:6px 0 10px;}
		.care-rec-tab{
			flex:1 1 auto;padding:9px 6px;border:1px solid #cddbd5;border-radius:8px;
			background:#f7fbf9;color:#3d6a5c;font-size:13px;font-weight:700;line-height:1.2;
			cursor:pointer;font-family:inherit;
		}
		.care-rec-tab.is-on{background:#3d6a5c;border-color:#3d6a5c;color:#fff;}
		.care-rec-pane select{
			display:block;width:100%;margin-top:3px;padding:9px;border:1px solid #ccc;border-radius:6px;
			font-size:16px;box-sizing:border-box;background:#fff;
		}
		/* 3.0.3: 記録の窓の中も、利用者ページと同じ「▲▼ボタン付き」の入力欄にする。
		   ボタンの動きは records.js が画面ぜんたいで見ているので、
		   ここでは並べ方だけを決める。 */
		.care-visit-recbox .care-visit-recfield{flex:1 1 0;display:block;font-size:13px;color:#444;}
		.care-visit-recbox .care-stepper{display:flex;flex-wrap:wrap;align-items:stretch;gap:4px;margin-top:3px;}
		.care-visit-recbox .care-stepper input,
		.care-visit-recbox .care-stepper select{
			display:block;width:auto;margin:0;padding:8px;border:1px solid #ccc;border-radius:6px;
			font-size:17px;box-sizing:border-box;background:#fff;font-family:inherit;
		}
		.care-visit-recbox .care-stepper-stacked input{flex:1 1 100%;width:100%;text-align:center;}
		.care-visit-recbox .care-stepper-stacked .care-step-group{flex:1 1 0;gap:4px !important;}
		.care-visit-recbox .care-step-btn{min-height:30px;padding:0 6px;font-size:12px;}
		/* 時刻の欄は「入力欄 -15分 +15分」を1行に収める(折り返すと読みにくいため) */
		.care-visit-recbox .care-hourslot-stepper{flex-wrap:nowrap;}
		.care-visit-recbox .care-hourslot-stepper input{flex:1 1 auto;min-width:0;text-align:left;font-size:15px;padding:8px 4px;}
		.care-visit-recbox .care-hourslot-btn{flex:0 0 auto;min-width:0;padding:0 7px;font-size:11px;white-space:nowrap;}
		.care-visit-recbox .care-amount-stepper select{flex:1 1 auto;min-width:0;font-size:16px;}
		.care-visit-recbox .care-amount-stepper .care-step-btn{flex:0 0 46px;}
		.care-visit-recbox .care-water-total{margin:2px 0 6px;font-size:12px;color:#555;}
		.care-visit-recbox .care-water-total.care-water-warn{color:#8a5a00;font-weight:700;}
		.care-visit-recbox .care-water-total.care-water-over{color:#b3261e;font-weight:700;}
		.care-visit-recbox .care-prefill-note{margin:2px 0 6px;font-size:11.5px !important;color:#888 !important;align-self:auto !important;}
		/* display:flex/blockが[hidden]に勝つので、窓の中は確実に隠す */
		.care-visit-recbox [hidden]{display:none !important;}

		/* 3.0.3: ポップアップの中は場所が狭いので、文の一覧だけ高さを決めてスクロールさせる */
		.care-visit-recbox .care-vrec-actions{margin:4px 0 8px;}
		.care-visit-recbox .care-vrec-add{max-width:none;}
		.care-visit-recbox .care-vrec-plist{max-height:26vh;overflow-y:auto;}
		.care-vital-msg{margin:8px 0 0;font-size:13px;}
		.care-vital-msg.is-error{color:#b3261e;font-weight:700;}
		.care-vital-msg.is-done{color:#2f6f4f;font-weight:700;}
		.care-vital-item{
			padding:8px 10px;margin-bottom:6px;border:1px solid #ddd;border-radius:7px;background:#fafafa;
			font-size:14px;line-height:1.8;
		}
		.care-vital-item strong{margin-right:8px;}
		.care-vital-item small{display:block;color:#777;font-size:12px;}

		/* 見るだけの画面での知らせ */
		.care-visit-toast{
			position:fixed;left:50%;bottom:16px;transform:translateX(-50%) translateY(8px);
			z-index:99999;max-width:92vw;padding:11px 14px;border-radius:9px;
			background:rgba(30,30,30,.94);color:#fff;font-size:13px;line-height:1.6;
			opacity:0;pointer-events:none;transition:opacity .2s,transform .2s;
		}
		.care-visit-toast.is-on{opacity:1;transform:translateX(-50%) translateY(0);}
		.care-visit-donemark{
			position:absolute;left:2px;bottom:2px;z-index:4;
			padding:0 4px;border-radius:3px;background:#3d6a5c;color:#fff;
			font-size:10px;font-weight:700;line-height:1.5;
		}
		.care-visit-board.is-compact .care-visit-done{width:15px;height:15px;font-size:9px;}
		.care-visit-item-time{color:#555;font-size:10px;}
		.care-visit-item-title{color:#333;}

		.care-visit-side{display:flex;flex-wrap:wrap;gap:12px;margin-top:14px;}
		.care-visit-card{flex:1 1 240px;min-width:240px;border:1px solid #ddd;border-radius:8px;background:#fff;padding:12px 14px;}
		.care-visit-card-wide{flex:1 1 100%;}
		.care-visit-card h3{margin:0 0 8px;font-size:15px;}
		.care-visit-card h4{margin:8px 0 4px;font-size:13px;color:#555;}
		.care-visit-list{margin:0;padding:0;list-style:none;font-size:13px;line-height:1.7;}
		.care-visit-list li{padding:3px 0;border-bottom:1px dotted #e5e5e5;}
		.care-visit-list li.is-today{background:#fff8e1;font-weight:700;}
		.care-visit-list strong{margin-right:6px;}
		.care-visit-sub{color:#777;font-size:12px;margin-left:6px;}
		.care-visit-none{color:#999;font-size:12px;margin:2px 0;}
		.care-visit-plain{white-space:pre-wrap;font-size:14px;line-height:1.7;}
		.care-visit-label{display:block;margin:8px 0;font-size:13px;color:#444;}
		.care-visit-label input,.care-visit-label select,.care-visit-label textarea{
			display:block;width:100%;margin-top:3px;padding:8px;border:1px solid #ccc;border-radius:6px;font-size:16px;box-sizing:border-box;
		}
		.care-visit-row2{display:flex;gap:10px;}
		.care-visit-row2 .care-visit-label{flex:1 1 0;}

		.care-visit-modal-overlay{display:none;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:99998;align-items:flex-start;justify-content:center;padding:16px;overflow:auto;}
		.care-visit-modal-overlay.is-open{display:flex;}
		/* 画面の上にWordPressの黒い帯が出ているときは、そのぶん下げる */
		body.admin-bar .care-visit-modal-overlay{padding-top:48px;}
		@media screen and (max-width:782px){
			body.admin-bar .care-visit-modal-overlay{padding-top:62px;}
		}
		/* 画面のまん中に出す。
		   margin:auto にしておくと、中身が画面より高いときでも
		   上が切れずに、そのまま下へスクロールできる。 */
		.care-visit-modal-box{position:relative;margin:auto;background:#fff;border-radius:10px;max-width:460px;width:100%;padding:18px;box-shadow:0 8px 30px rgba(0,0,0,.3);}
		/* 広めのポップアップ(全体表示・予定作成など)。
		   上の指定より後に書かないと、460pxのままになる。 */
		.care-visit-modal-box.care-visit-modal-wide{max-width:860px;}
		.care-visit-modal-box h3{margin:0 0 6px;font-size:17px;}
		.care-visit-modal-box > .care-visit-modal-close{position:absolute;top:8px;right:10px;background:none;border:0;font-size:24px;line-height:1;color:#666;cursor:pointer;}
		.care-visit-modal-actions{display:flex;gap:8px;margin-top:12px;}
		.care-visit-modal-actions .care-btn{flex:1 1 auto;}
		.care-visit-delete{margin-top:12px;background:none;border:0;color:#b3261e;text-decoration:underline;font-size:13px;cursor:pointer;padding:0;}

		/* 列の下の合計 */
		.care-visit-colfoot{
			min-width:112px;box-sizing:border-box;padding:4px 4px;
			border-top:1px solid #ccc;border-right:1px solid #e0e0e0;
			background:#f7f7f7;font-size:11px;text-align:center;color:#444;
		}
		.care-visit-colfoot span{display:block;color:#777;font-size:10px;}
		.care-visit-colfoot-time{width:54px;min-width:54px;font-weight:700;}
		.care-visit-colfoot.care-visit-kind-nursing{background:#eef5fb;}
		.care-visit-colfoot.care-visit-kind-care{background:#f1f8f1;}

		/* ---- 枠の下のふちを、そのままつまんで長さを変える ----
		   30分の訪問だと枠そのものが小さいので、下のふちを
		   目に見える「つまみ」にしておく(上のふちには付けない)。
		   押して上下に引くと、5分きざみで終了時刻が変わる。 */
		.care-visit-resize{
			position:absolute;left:0;right:0;bottom:0;height:8px;height:min(8px,42%);z-index:8;
			cursor:ns-resize;touch-action:none;
			background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(0,0,0,.14) 55%,rgba(0,0,0,.30));
		}
		/* まん中の白い線。「ここをつまむ」という目印 */
		.care-visit-resize::after{
			content:'';position:absolute;left:50%;bottom:2px;
			width:20px;height:2px;margin-left:-10px;border-radius:2px;
			background:rgba(255,255,255,.9);
		}
		.care-visit-resize:hover{
			background:linear-gradient(to bottom,rgba(0,0,0,0),rgba(61,106,92,.55) 55%,rgba(61,106,92,.92));
		}
		.care-visit-board.is-compact .care-visit-resize{height:7px;height:min(7px,42%);}
		.care-visit-board.is-compact .care-visit-resize::after{width:14px;bottom:2px;}
		/* つまみはボタンより手前に出す。ボタンの位置はそのままなので
		   見た目は変わらず、下のふちだけは端から端までつまめる。 */

		/* つまんでいる間だけ出す、いまの時刻と区分の札 */
		.care-visit-nowchip{
			position:absolute;z-index:21;transform:translateX(-50%);
			padding:3px 8px;border-radius:7px;background:#23342d;color:#fff;
			font-size:11px;font-weight:700;line-height:1.5;white-space:nowrap;
			box-shadow:0 2px 8px rgba(0,0,0,.35);pointer-events:none;
		}
		.care-visit-nowchip[hidden]{display:none;}

		@media (max-width:600px){
			/* ---- スマホ: 見るための作り ---- */
			.care-visit-colhead,.care-visit-col,.care-visit-colfoot{min-width:96px;}
			.care-visit-column{flex:0 0 96px;width:96px;}
			/* flex の指定は「列そのもの」だけに。中の部品に付けると、
			   縦並びのため高さ44pxとみなされて表がつぶれる。 */
			.care-visit-column-time{flex:0 0 44px;width:44px;}
			/* 未割当だけ中身が広いと、列からはみ出して大きく見える。幅をそろえる */
			.care-visit-column-un{flex:0 0 120px;width:120px;left:44px;}
			.care-visit-column-un .care-visit-col,
			.care-visit-column-un .care-visit-colhead,
			.care-visit-column-un .care-visit-colfoot{min-width:120px;}
			.care-visit-board{--care-headh:50px;}
			/* 見出しが低くなるので、中の「振り分け」も小さくする */
			.care-visit-column-un .care-visit-colhead small{font-size:10px;line-height:1.2;}
			button.care-visit-spread-col{margin-top:0;padding:0 8px !important;font-size:10px !important;line-height:1.7 !important;}
			.care-visit-corner,.care-visit-times,
			.care-visit-colfoot-time{width:44px;min-width:44px;}

			/* 日付まわりを1行にまとめて、表に場所をゆずる */
			.care-visit-head{gap:6px;margin-bottom:6px;}
			.care-visit-datenav{width:100%;gap:6px;justify-content:space-between;flex-wrap:nowrap;}
			.care-visit-datenav h2{font-size:15px;line-height:1.3;flex:1 1 auto;text-align:center;margin:0;}
			.care-visit-datenav .care-btn{
				flex:0 0 auto;padding:7px 9px;font-size:13px;white-space:nowrap;border-radius:7px;
			}
			.care-visit-jump{width:100%;gap:5px;}
			.care-visit-jump input[type="date"]{flex:1 1 auto;min-width:0;padding:6px;font-size:14px;}
			.care-visit-jump .care-btn{flex:0 0 auto;padding:7px 10px;font-size:13px;white-space:nowrap;}
			/* 3.5.4: スマホでは「今日の予定」を1行つかって押しやすくする */
			.care-visit-opentoday{width:100%;box-sizing:border-box;padding:9px 10px;font-size:14px;}

			.care-visit-empty{padding:8px 10px;font-size:13px;line-height:1.6;}

			/* 横スクロールを指でできるように。縦は画面ぶん使う */
			.care-visit-scroll{
				max-height:none;overflow-x:auto;overflow-y:visible;
				-webkit-overflow-scrolling:touch;overscroll-behavior-x:contain;
			}
			/* 縦は画面ぶんを使う＝sticky の基準が画面になるので、
			   ここでは上に貼りついている帯の高さの下で止める */
			.care-visit-corner,
			.care-visit-colhead{top:var(--care-stick-top,0px);}
			.care-visit-layout{gap:6px;}
			.care-visit-topbar{gap:6px;margin:6px 0;}

			/* スマホで押すのは「完」だけ。指で押しやすい大きさにする */
			.care-visit-viewonly .care-visit-done{width:26px;height:22px;font-size:12px;border-radius:5px;}

			/* 見るだけのときは、右の列は「全体表示」と「印刷」だけ横に並べる */
			.care-visit-viewonly .care-visit-rail{flex-direction:row;gap:6px;}
			.care-visit-viewonly .care-visit-rail-box{flex:1 1 auto;padding:5px;}
			.care-visit-viewonly .care-visit-rail-btn{margin:0;padding:8px 6px;font-size:13px;}
		}

		/* ---- 見るだけのとき: 触る部品を消す ---- */
		.care-visit-item.is-done .care-visit-resize,
		.care-visit-item.is-done .care-visit-copy,
		.care-visit-item.is-done .care-visit-del{display:none !important;}
		.care-visit-viewonly .care-visit-item-btns,
		.care-visit-viewonly .care-visit-resize,
		.care-visit-viewonly .care-visit-nowchip{display:none !important;}
		.care-visit-viewonly .care-visit-item-name{cursor:default;}
		.care-visit-viewonly .care-visit-item{padding:2px 3px;}

		/* ---------- 印刷 ---------- */
		.care-visit-printmode .care-visit-scroll.is-print{max-height:none;overflow:visible;}
		.care-visit-printside{display:flex;flex-wrap:wrap;gap:8px;margin-top:10px;}
		.care-visit-printbox{flex:1 1 220px;border:1px solid #999;padding:6px 8px;font-size:11px;line-height:1.5;}
		.care-visit-printbox-wide{flex:1 1 100%;min-height:44px;}
		.care-visit-printbox h4{margin:0 0 3px;font-size:11px;border-bottom:1px solid #ccc;padding-bottom:2px;}
		.care-visit-printbox p{margin:2px 0;}

		@media print{
			/* 紙はA4を縦に。1日ぶんが1枚に収まるようにする */
			@page{size:A4 portrait;margin:6mm;}
			body{background:#fff !important;}
			html,body{width:auto;height:auto;}
			.care-visit-printmode{max-width:none;}
			.care-visit-printmode .care-visit-scroll{border:0;max-height:none;overflow:visible;}
			/* 途中で紙が変わらないように */
			.care-visit-printmode .care-visit-board,
			.care-visit-printmode .care-visit-column,
			.care-visit-printmode .care-visit-scroll{break-inside:avoid;page-break-inside:avoid;}
			.care-visit-printmode .care-visit-board{min-width:0;width:100%;}
			.care-visit-printmode .care-visit-column{flex:1 1 0;}
			/* 左に貼りつく列は、紙では動かさない(重なって出てしまうため) */
			.care-visit-printmode .care-visit-column-time,
			.care-visit-printmode .care-visit-column-un{position:static !important;box-shadow:none !important;}
			.care-visit-printmode .care-visit-column-time{flex:0 0 34px;}
			.care-visit-printmode .care-visit-column-un{flex:1 1 0;}
			/* 紙では横に出さない(1枚に収める) */
			.care-visit-xtop,.care-visit-rail,.care-visit-floathead{display:none !important;}
			.care-visit-printmode .care-visit-colhead,
			.care-visit-printmode .care-visit-col,
			.care-visit-printmode .care-visit-colfoot{min-width:0;}
			.care-visit-printmode .care-visit-colhead{height:auto;padding:2px;font-size:9px;}
			/* コマが低いので、字は小さめに。はみ出しは切る */
			.care-visit-printmode .care-visit-item{
				font-size:8px;padding:0 2px;line-height:1.2;overflow:hidden;min-height:10px;
			}
			.care-visit-printmode .care-visit-item-time{font-size:7px;}
			.care-visit-printmode .care-visit-item-code{font-size:7px;}
			.care-visit-printmode .care-visit-tick{font-size:7px;}
			.care-visit-printmode .care-visit-colfoot{font-size:9px;}
			.care-visit-printbar,
			.care-visit-printmode .care-visit-datenav a,
			.care-visit-printmode .care-visit-jump,
			.care-visit-printmode .care-visit-resize,
			.care-visit-nowchip{display:none !important;}
			.care-visit-item,.care-visit-colhead,.care-visit-colfoot,.care-visit-onduty{
				-webkit-print-color-adjust:exact;print-color-adjust:exact;
			}
		}
	

/* ===== visit-schedule.php ===== */
		/* タブの下に出る各画面の見出しは、小さめにして二重に見えないようにする */
		.care-visit-tabs + .wrap > h1:first-child,
		.care-visit-tabs ~ .wrap > h1:first-child{font-size:18px;margin:12px 0 8px;padding:0;}
	

/* ===== visit-schedule.php ===== */
		.care-vres-head{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin-bottom:8px;}
		.care-vres-pick select{padding:8px 10px;border:1px solid #ccc;border-radius:6px;font-size:15px;font-family:inherit;max-width:100%;}
		.care-vres-switch{display:flex;border:1px solid #e2e2e2;border-radius:6px;overflow:hidden;}
		.care-vres-switch .care-tab{padding:6px 12px;font-size:13px;border-bottom:none;background:#fafaf8;color:#777;text-decoration:none;}
		/* 3.8.0: 上の期間切り替えと同じ理由で !important を付ける（赤字になってしまうため） */
		.care-vres-switch .care-tab.is-active{
			background:#3d6a5c !important;color:#fff !important;
			border-color:#3d6a5c !important;font-weight:600;
		}
		.care-vres-title{font-size:17px;margin:4px 0 8px !important;}
		.care-vres-scroll{overflow:auto;border:1px solid #ddd;border-radius:8px;background:#fff;max-height:78vh;}
		.care-vres-board{display:flex;align-items:flex-start;min-width:max-content;}
		.care-vres-timecol{position:sticky;left:0;z-index:4;flex:0 0 44px;width:44px;background:#fafafa;}
		.care-vres-times{position:relative;border-right:1px solid #ccc;}
		.care-vres-hour{position:absolute;left:0;right:0;border-top:1px solid #e6e6e6;font-size:11px;color:#777;padding-left:4px;line-height:1.2;}
		.care-vres-dayhead{
			position:sticky;top:0;z-index:3;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1px;
			height:40px;box-sizing:border-box;background:#f2f2f2;border-bottom:1px solid #ccc;border-right:1px solid #e6e6e6;
			text-decoration:none;color:#333;font-size:13px;font-weight:700;
		}
		.care-vres-timecol .care-vres-dayhead{border-right:1px solid #ccc;}
		.care-vres-wd{font-size:11px;font-weight:400;color:#666;}
		.care-vres-col{flex:0 0 120px;width:120px;}
		.care-vres-board.is-month .care-vres-col{flex:0 0 74px;width:74px;}
		.care-vres-col.is-sun .care-vres-dayhead{background:#fdeeee;}
		.care-vres-col.is-sun .care-vres-wd{color:#c0392b;}
		.care-vres-col.is-sat .care-vres-dayhead{background:#eef3fb;}
		.care-vres-col.is-sat .care-vres-wd{color:#2b6cb0;}
		.care-vres-col.is-today .care-vres-dayhead{outline:2px solid #3d6a5c;outline-offset:-2px;}
		.care-vres-body{position:relative;border-right:1px solid #eee;}
		.care-vres-col.is-today .care-vres-body{background:#f7fbf9;}
		.care-vres-line{position:absolute;left:0;right:0;height:0;border-top:1px solid #eee;}
		.care-vres-item{
			position:absolute;left:2px;right:2px;box-sizing:border-box;overflow:hidden;
			border:2px solid #7aa7c7;border-radius:4px;padding:1px 4px;font-size:11px;line-height:1.25;
			display:flex;flex-direction:row;flex-wrap:wrap;gap:0 4px;align-content:flex-start;
		}
		.care-vres-time{font-weight:700;}
		.care-vres-kind{color:#333;}
		.care-vres-who{color:#555;font-size:10px;}
		.care-vres-item.is-done{opacity:.6;}
		.care-vres-item.is-copied{border-style:dashed;opacity:.55;}
		.care-vres-board.is-month .care-vres-item{font-size:10px;padding:0 2px;}
		.care-vres-board.is-month .care-vres-who{display:none;}
		/* 枠の上のボタン(消・複・移)。1.89.0 */
		.care-vres-item{padding-top:16px;}
		.care-vres-btns{position:absolute;top:1px;left:2px;right:2px;display:flex;gap:2px;}
		.care-vres-mini{
			flex:1 1 0;padding:0;border:1px solid #9bb5ac;border-radius:3px;background:#fff;color:#3d6a5c;
			font-size:10px;line-height:13px;height:14px;cursor:pointer;font-family:inherit;
		}
		.care-vres-mini:hover{background:#3d6a5c;color:#fff;}
		.care-vres-mini[data-act="delete"]{color:#a3341f;border-color:#e6b3a8;}
		.care-vres-mini[data-act="delete"]:hover{background:#a3341f;color:#fff;}
		.care-vres-mini.is-on{background:#3d6a5c;color:#fff;}
		.care-vres-item.is-armed{outline:2px solid #3d6a5c;outline-offset:1px;cursor:grab;z-index:2;touch-action:none;}
		.care-vres-item.is-armed.is-copyarm{outline-color:#c9761a;}
		.care-vres.is-arming .care-vres-body{cursor:crosshair;}
		.care-vres-ghost{position:absolute;left:2px;right:2px;box-sizing:border-box;border:2px dashed #3d6a5c;border-radius:4px;background:rgba(61,106,92,.15);pointer-events:none;z-index:5;font-size:11px;font-weight:700;padding:1px 4px;color:#3d6a5c;}
		.care-vres-item.is-busy{opacity:.4;}
		.care-vres-msg{font-size:13px;color:#3d6a5c;}
		.care-vres-msg.is-error{color:#a3341f;}
		.care-vres-bulk{margin:0 0 8px;padding:10px 12px;border:1px solid #cfe1da;border-radius:8px;background:#f6faf8;}
		.care-vres-bulk[hidden]{display:none;}
		.care-vres-bulk-row{display:flex;flex-wrap:wrap;gap:8px 14px;align-items:center;margin:4px 0;font-size:14px;}
		.care-vres-bulk-row label{display:inline-flex;align-items:center;gap:4px;}
		.care-vres-bulk-row input[type="time"],.care-vres-bulk-row input[type="date"],.care-vres-bulk-row input[type="text"],.care-vres-bulk-row select{padding:5px 6px;border:1px solid #ccc;border-radius:6px;font-family:inherit;font-size:14px;}
		.care-vres-bulk-wds{display:inline-flex;gap:6px;align-items:center;}
		.care-vres-bulk-wd{padding:2px 6px;border:1px solid #ddd;border-radius:6px;background:#fff;}
		.care-vres-bulk-wd.is-sun{color:#c0392b;}
		.care-vres-bulk-wd.is-sat{color:#2b6cb0;}
		@media (max-width:600px){
			.care-vres-col{flex:0 0 96px;width:96px;}
			.care-vres-board.is-month .care-vres-col{flex:0 0 64px;width:64px;}
		}
	
