/*

	名　称：style.css
	機　能：メンテナンス時表示用CSS
	作成日：2026/07/25
	更新日：2026/07/25
	作成者：yuripafe

*/

/* リセット */
* {
	box-sizing: border-box;
}
html, body {
	margin : 0;
	padding: 0;
}

/* ＢＯＤＹ全体 */
body {
	font-family     : "游ゴシックミディアム", sans-serif;
	font-size       : 13px;
	line-height     : 1.5;
	color           : #663355;
	padding         : 10px;
	height          : 100vh;
	overflow        : hidden;
	display         : flex;
	flex-direction  : column;
	background      : #ffffff;
	background-image: repeating-linear-gradient(0deg, #ffd0e0 0 1px, transparent 1px 24px), repeating-linear-gradient(90deg, #ffd0e0 0 1px, transparent 1px 24px);
}

/* リンク */
a {
	color: #e05a8f;
}
a:visited {
	color: #9933cc;
}
a:hover {
	color     : #ff85b8;
	background: #ffff99;
}

/* コントロール */
button {
	font-family: inherit;
	font-size  : inherit;
	cursor     : pointer;
}
input, select, textarea {
	font-family: inherit;
	font-size  : inherit;
}

/* テーブル */
table {
	border-collapse: collapse;
	width          : 100%;
}
th, td {
	text-align : left;
	white-space: nowrap;
}

/* 汎用 */
.hidden {
	display: none !important;
}

/* ★セル */
.star-cell {
	white-space   : nowrap;
	letter-spacing: 1px;
	color         : #ff6699;
}
tr:hover .star-cell {
	color: #ff85b8;
}

/* アプリ枠 */
#app {
	background    : #fffafc;
	border        : 3px double #ff85b8;
	padding       : 10px;
	max-width     : 100%;
	min-width     : 0;
	width         : 100%;
	flex          : 1 1 auto;
	min-height    : 0;
	display       : flex;
	flex-direction: column;
}

/* ｈ１見出し */
h1 {
	font-size      : 16px;
	color          : #ff85b8;
	margin         : 0 0 10px;
	text-decoration: underline;
	text-shadow    : 1px 1px #ffd0e0;
}

/* ボタン */
button {
	height       : 20px;
	font-size    : 12px;
	color        : #b0356c;
	background   : transparent;
	border       : none;
	border-bottom: 1px dotted #c9aeb9;
	padding      : 0 8px;
}
button:hover {
	border-bottom: 1px solid #ff85b8;
	background   : #fdeef4;
}
button:focus {
	outline      : none;
	border-bottom: 1px solid #ff85b8;
	background   : #fdeef4;
}

/* 入力欄 */
input, select, textarea {
	height       : 20px;
	font-size    : 12px;
	color        : #333;
	background   : transparent;
	border       : none;
	border-bottom: 1px dotted #c9aeb9;
	padding      : 0 3px;
}
input:hover, select:hover, textarea:hover {
	border-bottom: 1px solid #ff85b8;
	background   : #fdeef4;
}
input:focus, select:focus, textarea:focus {
	outline      : none;
	border-bottom: 1px solid #ff85b8;
	background   : #fdeef4;
}

/* テーブル */
table {
	background: #fffafc;
	border    : 2px solid #ff85b8;
}
th {
	background : #ff85b8;
	color      : #fff;
	padding    : 3px 6px;
	border     : 1px solid #fff;
	font-weight: normal;
	position   : sticky;
	top        : 0;
	z-index    : 1;
}
td {
	padding: 3px 6px;
	border : 1px solid #ff99bb;
}
tr:nth-child(even) td {
	background: #fff0f6;
}
tr:nth-child(odd) td {
	background: #fffafc;
}
tr:hover td {
	background: #ffe0ec;
	color     : #e05a8f;
}

/* ツールバー */
.toolbar {
	margin-bottom: 8px;
	display      : flex;
	flex-wrap    : wrap;
	gap          : 6px;
	align-items  : center;
}

/* フィルタ */
.filters {
	margin-bottom: 8px;
	display      : flex;
	flex-wrap    : wrap;
	gap          : 4px 12px;
	align-items  : center;
	border-bottom: 1px solid #eccdd9;
	padding      : 4px 2px;
}
.filters label {
	display    : inline-flex;
	align-items: center;
	gap        : 3px;
}

/* 件数カウント */
.count-note {
	font-size    : 12px;
	color        : #ff85b8;
	margin-bottom: 6px;
}
.status-msg {
	font-size  : 12px;
	margin-left: 8px;
}

/* 入力フォームパネル */
#formPanel {
	margin-top: 10px;
	padding   : 8px;
	background: #fff0f6;
	border    : 2px solid #ff99bb;
}
#formPanel .frow {
	margin-bottom: 5px;
}
#formPanel label.fl {
	display: inline-block;
	width  : 8em;
}
#formPanel input[type=text], #formPanel input[type=number], #formPanel select, #formPanel textarea {
	width    : 320px;
	max-width: 100%;
}
#formPanel textarea {
	height        : 48px;
	vertical-align: top;
}

/* ソート見出し */
th.sortable {
	cursor: pointer;
}
th.sortable .arrow {
	font-size: 10px;
}

/* フッター */
footer.app {
	margin     : auto -10px -10px;
	padding    : 8px 10px;
	font-size  : 11px;
	color      : #aa7799;
	text-align : center;
	background : #fff;
	border-top : 1px solid #f0bcd2;
}
footer.app a {
	color: #e05a8f;
}

/* スクロール枠 */
.table-wrap {
	width     : 100%;
	max-width : 100%;
	min-width : 0;
	flex      : 1 1 auto;
	min-height: 0;
	overflow  : auto;
}

/* ＳＰ表示対応 */
@media (max-width: 700px) {
	/* データ部スクロール */
	.table-wrap {
		overflow-x: hidden;
		overflow-y: auto;
	}

	/* 縦積みブロック化 */
	#grid thead {
		display: none;
	}
	#grid, #grid tbody, #grid tr, #grid td {
		display: block;
		width  : 100%;
	}

	/* １カード */
	#grid tr {
		margin-bottom: 10px;
		border       : 2px solid #ff85b8;
	}

	/* カード交互色 */
	#grid tr:nth-child(odd) {
		background: #fffafc;
	}
	#grid tr:nth-child(even) {
		background: #fff0f6;
	}

	/* １行 */
	#grid td {
		white-space    : normal;
		border         : none;
		border-bottom  : 1px dotted #ff99bb;
		padding        : 4px 8px;
		display        : flex;
		justify-content: space-between;
		gap            : 10px;
		background     : transparent;
	}

	/* 項目名ラベル */
	#grid td::before {
		content: attr(data-label);
		color  : #ff85b8;
		flex   : 0 0 45%;
	}
	#grid td:last-child {
		border-bottom: none;
	}
	#grid .star-cell {
		color: #ff6699;
	}
}