/* TIP Komite – halaman wali murid */
.tipk-wali { --tk-primary:#1d4f91; --tk-ok:#16794c; --tk-bad:#b42318; --tk-line:#e2e4e7; max-width:820px; margin:0 auto; font-size:16px; line-height:1.5; }
.tipk-wali *, .tipk-wali *::before, .tipk-wali *::after { box-sizing:border-box; }
.tipk-wali__title { margin:0 0 16px; }
.tipk-wali__form, .tipk-card { background:#fff; border:1px solid var(--tk-line); border-radius:10px; padding:20px; }
.tipk-wali__intro { margin:0 0 16px; color:#444; }
.tipk-field { margin-bottom:14px; }
.tipk-field label { display:block; font-weight:600; margin-bottom:4px; }
.tipk-field input { width:100%; max-width:360px; padding:10px 12px; border:1px solid #c3c4c7; border-radius:6px; font-size:16px; }
.tipk-hp { position:absolute !important; left:-9999px; width:1px; height:1px; overflow:hidden; }
.tipk-btn { display:inline-block; background:var(--tk-primary); color:#fff !important; border:0; border-radius:6px; padding:10px 18px; font-size:16px; cursor:pointer; text-decoration:none; }
.tipk-btn:hover { filter:brightness(1.1); }
.tipk-btn--small { padding:6px 12px; font-size:14px; }
.tipk-note { color:#666; font-size:13px; margin:12px 0 0; }
.tipk-alert { padding:12px 14px; border-radius:8px; margin-bottom:16px; }
.tipk-alert--error { background:#fdf0ef; border:1px solid #f1c0bb; color:#8a1c12; }
.tipk-card--siswa { margin-bottom:14px; }
.tipk-siswa__nama { font-size:20px; font-weight:700; }
.tipk-siswa__meta { display:flex; flex-wrap:wrap; gap:6px 18px; color:#555; font-size:14px; margin-top:4px; }
.tipk-ta-form { display:flex; align-items:center; gap:10px; margin:0 0 14px; flex-wrap:wrap; }
.tipk-ta-form select { padding:6px 10px; border-radius:6px; }
.tipk-summary { display:grid; grid-template-columns:1fr 1fr; gap:12px; margin-bottom:20px; }
.tipk-summary__item { border-radius:10px; padding:14px 16px; display:flex; flex-direction:column; border:1px solid var(--tk-line); }
.tipk-summary__item strong { font-size:22px; }
.tipk-summary__label { font-size:13px; color:#555; }
.tipk-summary__item--ok { background:#eef7f1; border-color:#b7dfc5; }
.tipk-summary__item--ok strong { color:var(--tk-ok); }
.tipk-summary__item--bad { background:#fdf0ef; border-color:#f1c0bb; }
.tipk-summary__item--bad strong { color:var(--tk-bad); }
.tipk-h4 { margin:18px 0 10px; }
.tipk-months { display:grid; grid-template-columns:repeat(auto-fill,minmax(150px,1fr)); gap:8px; }
.tipk-month { border:1px solid var(--tk-line); border-radius:8px; padding:10px 12px; display:flex; flex-direction:column; gap:2px; background:#fff; }
.tipk-month__name { font-weight:600; }
.tipk-month__status { font-size:13px; }
.tipk-month__kw { font-size:11px; color:#666; word-break:break-all; }
.tipk-month--paid { background:#eef7f1; border-color:#b7dfc5; }
.tipk-month--paid .tipk-month__status { color:var(--tk-ok); font-weight:600; }
.tipk-month--due { background:#fdf0ef; border-color:#f1c0bb; }
.tipk-month--due .tipk-month__status { color:var(--tk-bad); font-weight:600; }
.tipk-month--future .tipk-month__status { color:#888; }
.tipk-table-wrap { overflow-x:auto; }
.tipk-table { width:100%; border-collapse:collapse; font-size:14px; }
.tipk-table th, .tipk-table td { border-bottom:1px solid var(--tk-line); padding:8px 10px; text-align:left; vertical-align:top; }
.tipk-table th { background:#f6f7f7; }
.tipk-table .num { text-align:right; white-space:nowrap; }
.tipk-wali__again { margin-top:18px; }
@media (max-width:560px) {
	.tipk-summary { grid-template-columns:1fr; }
	.tipk-table thead { display:none; }
	.tipk-table tr { display:block; border:1px solid var(--tk-line); border-radius:8px; margin-bottom:10px; padding:6px 0; }
	.tipk-table td { display:flex; justify-content:space-between; gap:12px; border:0; padding:4px 12px; }
	.tipk-table td::before { content:attr(data-label); font-weight:600; color:#555; }
	.tipk-table .num { text-align:right; }
}
