.community-admin {
  --community-ink: #17372b;
  --community-soft: #f4f8f2;
  color: var(--community-ink);
}
.credit-entry-tabs{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px;margin:0 0 16px}.credit-entry-tabs button{min-height:54px;padding:10px 14px;border:1px solid #d5e4d8;border-radius:13px;background:#fff;color:#315645;font:inherit;font-weight:800;cursor:pointer;text-align:center}.credit-entry-tabs button.active{border-color:#168b5e;background:#e6f6ec;color:#0c7147;box-shadow:inset 0 -3px #168b5e}.credit-entry-tabs button i{margin-right:7px}.credit-person-list{display:grid;gap:7px;max-height:62vh;overflow:auto;margin-top:14px}.credit-person-row{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;min-height:60px;padding:10px 13px;border:1px solid #e0eae0;border-radius:12px;background:#fff;color:#17372b;text-align:left;font:inherit;cursor:pointer}.credit-person-row:hover,.credit-person-row:focus-visible{border-color:#9bceb0;background:#f4fbf5}.credit-person-row>span:first-child{display:grid;gap:2px;min-width:0}.credit-person-row strong{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.credit-person-row small{color:#6c8475}.credit-person-row>.chips{justify-content:flex-end;flex-wrap:wrap}.credit-person-row>i{color:#759a82}@media(max-width:700px){.credit-entry-tabs{grid-template-columns:1fr}.credit-person-row{flex-wrap:wrap}.credit-person-row>.chips{margin-left:auto}}

.community-admin .view-header { margin-bottom: 18px; }
.community-debit-notice { display: flex; align-items: center; justify-content: space-between; gap: 16px; margin: 0 0 17px; padding: 14px 16px; border: 1px solid #ecd6a2; border-radius: 14px; background: #fffaf0; }
.community-debit-notice strong { color: #805a17; font-size: 13px; }
.community-debit-notice strong i { margin-right: 5px; }
.community-debit-notice p { margin: 3px 0 0; color: #796c50; font-size: 12px; }
.community-debit-notice button { flex: 0 0 auto; min-height: 39px; border-radius: 9px; }
.community-tabs { display: flex; flex-wrap: wrap; gap: 8px; margin: 0 0 18px; }
.community-tab { border: 1px solid #d5e2d4; border-radius: 999px; background: #fff; color: #365748; padding: 10px 17px; font: inherit; font-weight: 750; cursor: pointer; transition: background .15s, box-shadow .15s, transform .15s; }
.community-tab:hover, .community-tab:focus-visible { background: #eaf5ed; transform: translateY(-1px); }
.community-tab.is-active { border-color: #17885d; background: #168b5e; color: #fff; box-shadow: 0 5px 14px #12674230; }
.community-layout { display: grid; grid-template-columns: minmax(270px, 340px) minmax(0, 1fr); gap: 18px; align-items: start; }
.community-list, .panel.soft-panel.community-editor { border: 1px solid #dce9dc; border-radius: 18px; background: #fff; box-shadow: 0 9px 30px #1a463010; }
.community-list { padding: 18px; }
.community-list-heading, .community-section-heading { display: flex; align-items: center; justify-content: space-between; gap: 12px; }
.community-kicker { display: block; color: #46826a; font-size: 11px; font-weight: 800; letter-spacing: .08em; text-transform: uppercase; }
.community-list h3, .community-section-heading h3 { margin: 3px 0 0; font-size: 19px; line-height: 1.2; }
.community-list-count, .community-payment-count { display: inline-grid; place-items: center; min-width: 30px; height: 30px; padding: 0 7px; border-radius: 9px; background: #e7f5e9; color: #18764e; font-size: 12px; font-weight: 800; }
.community-search { display: flex; align-items: center; gap: 9px; margin-top: 16px; padding: 0 12px; border: 1px solid #d6e5d6; border-radius: 11px; background: #fafdfa; color: #729480; }
.community-search:focus-within { border-color: #168b5e; box-shadow: 0 0 0 3px #168b5e1f; }
.community-search input { width: 100%; min-width: 0; min-height: 43px; padding: 7px 0; border: 0; background: transparent; box-shadow: none; font-weight: 500; }
.community-search input:focus { border: 0; box-shadow: none; }
.community-list-scroll { display: grid; align-content: start; gap: 6px; max-height: 68vh; overflow: auto; margin-top: 14px; padding-right: 3px; }
.community-person { display: flex; align-items: center; gap: 11px; width: 100%; min-width: 0; padding: 10px; border: 1px solid transparent; border-radius: 12px; background: transparent; color: inherit; text-align: left; font: inherit; cursor: pointer; }
.community-person:hover, .community-person:focus-visible { background: #f2f8f2; border-color: #dce9dc; }
.community-person.is-selected { background: #e9f6ee; border-color: #9ad4b0; box-shadow: inset 3px 0 #168b5e; }
.community-avatar { display: inline-grid; flex: 0 0 35px; place-items: center; width: 35px; height: 35px; border-radius: 11px; background: linear-gradient(145deg, #d9efe1, #f2f9ec); color: #16794f; font-size: 12px; font-weight: 850; }
.community-avatar--large { flex-basis: 52px; width: 52px; height: 52px; border-radius: 15px; font-size: 17px; }
.community-person-copy { display: block; flex: 1; min-width: 0; }
.community-person-copy strong, .community-person-copy small { display: block; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.community-person-copy strong { font-size: 13px; line-height: 1.4; }
.community-person-copy small { color: #708779; font-size: 11px; }
.community-person > i { color: #93afa0; font-size: 11px; }
.community-list-caption { margin: 12px 0 0; color: #7d9183; font-size: 11px; }
.community-editor { padding: 23px; }
.community-editor-heading { display: flex; align-items: center; gap: 13px; padding-bottom: 21px; border-bottom: 1px solid #e2eee2; }
.community-editor-heading h3 { margin: 3px 0; font-size: clamp(19px, 2vw, 25px); line-height: 1.15; }
.community-editor-heading p { margin: 0; color: #789081; font-size: 12px; }
.community-payment-section { margin: 22px 0 26px; }
.community-printer-panel { margin: 12px 0 18px; padding: 14px; border: 1px solid #cde1d2; border-radius: 12px; background: #f5faf6; }
.community-printer-panel p { margin: 6px 0; font-size: 12px; }
.community-printer-panel small { display: block; margin-top: 8px; color: #587263; }
.community-printer-actions { display: flex; flex-wrap: wrap; gap: 8px; margin-top: 10px; }
.community-payment-grid { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 15px; margin-top: 15px; }
.community-payment-grid h4 { margin: 0 0 9px; color: #506c59; font-size: 12px; }
.community-payment-card { display: grid; gap: 18px; min-height: 130px; margin-bottom: 9px; padding: 15px 17px; border-radius: 15px; color: #fff; background: linear-gradient(125deg, #153c31, #126642 65%, #209665); box-shadow: 0 8px 20px #134b302a; }
.community-payment-card--credit { background: linear-gradient(125deg, #253347, #334d58 58%, #766637); box-shadow: 0 8px 20px #25334722; }
.community-payment-card-top, .community-payment-card-bottom { display: flex; align-items: center; justify-content: space-between; gap: 8px; }
.community-payment-card-top { font-size: 11px; font-weight: 800; }
.community-payment-card-top i { margin-right: 5px; }
.community-payment-status { max-width: 90px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; padding: 4px 7px; border-radius: 99px; background: #ffffff23; color: #fff; font-size: 10px; text-transform: capitalize; }
.community-payment-status.is-active { background: #d9f7e6; color: #136442; }
.community-payment-number { font-size: clamp(14px, 1.6vw, 19px); letter-spacing: .08em; white-space: nowrap; }
.community-payment-card-bottom { font-size: 10px; opacity: .9; }
.community-payment-card-bottom span:first-child { overflow: hidden; text-overflow: ellipsis; white-space: nowrap; }
.community-credential-link { justify-self: start; color: #eafcf0; font-size: 11px; font-weight: 750; text-decoration: underline; text-underline-offset: 3px; }
.community-credential-link:hover, .community-credential-link:focus-visible { color: #fff; }
.community-payment-empty { min-height: 90px; display: grid; align-content: center; padding: 14px; border: 1px dashed #c5d8c8; border-radius: 12px; background: #fafdfa; color: #6e8172; font-size: 12px; }
.community-payment-alert { margin: 8px 0 0; color: #946019; font-size: 11px; font-weight: 700; }
.community-card-help { margin-top: 12px; padding: 12px 15px; border: 1px solid #d6e7da; border-radius: 11px; background: #f4faf5; color: #315d43; font-size: 12px; line-height: 1.5; }
.community-card-help strong { display: block; margin-bottom: 5px; }
.community-card-help ol { margin: 0; padding-left: 19px; }
.community-card-help li + li { margin-top: 4px; }
.community-section-heading--form { padding-top: 18px; border-top: 1px solid #e2eee2; }
.community-editor .field { min-width: 0; }
.community-editor .field > label { color: #446451; font-size: 12px; }
.community-editor input:not([type="checkbox"]), .community-editor select, .community-editor textarea { border-radius: 10px; border-color: #d8e5d7; background: #fcfefb; }
.community-editor .primary-btn[type="submit"] { min-height: 44px; border-radius: 10px; }
.community-editor .community-permission-toggle { display: flex; align-items: center; gap: 9px; }
.community-editor .community-permission-toggle input[type="checkbox"] { flex: 0 0 18px; width: 18px; min-width: 18px; height: 18px; min-height: 18px; margin: 0; padding: 0; accent-color: #168b5e; }
.community-tutor-choices { display: grid; gap: 7px; max-height: 210px; overflow: auto; margin-top: 7px; padding: 8px; border: 1px solid #d8e5d7; border-radius: 11px; background: #fcfefb; }
.community-tutor-choice { display: flex; align-items: center; justify-content: flex-start; gap: 10px; width: 100%; min-width: 0; margin: 0; padding: 9px 10px; border: 1px solid #e3ede3; border-radius: 9px; background: #fff; cursor: pointer; }
.community-tutor-choice:hover { background: #f0f8f1; }
.community-tutor-choice input[type="checkbox"] { flex: 0 0 17px; width: 17px; min-width: 17px; height: 17px; min-height: 17px; margin: 0; padding: 0; accent-color: #168b5e; }
.community-tutor-copy { display: block; flex: 1; min-width: 0; text-align: left; }
.community-tutor-copy strong, .community-tutor-copy small { display: block; overflow-wrap: anywhere; line-height: 1.35; }
.community-tutor-copy strong { color: #264a35; font-size: 12px; }
.community-tutor-copy small { color: #7c9181; font-size: 11px; font-weight: 500; }
@media (max-width: 1050px) { .community-layout { grid-template-columns: minmax(220px, 285px) minmax(0, 1fr); } .community-payment-grid { grid-template-columns: 1fr; } }
@media (max-width: 700px) { .community-debit-notice { flex-direction: column; align-items: stretch; } .community-layout { grid-template-columns: 1fr; } .community-list-scroll { max-height: 240px; } .community-editor { padding: 16px; } .community-payment-grid { grid-template-columns: 1fr; } }

.community-payment-card { position: relative; display: block; width: 100%; aspect-ratio: 85.6 / 54; min-height: 0; overflow: hidden; padding: 16px; border: 1px solid #d2b974; text-align: left; background-position: center; background-repeat: no-repeat; cursor: pointer; transition: transform .16s, box-shadow .16s; }
.community-payment-card:hover, .community-payment-card:focus-visible { transform: translateY(-2px); box-shadow: 0 12px 26px #14382b3b; outline: 2px solid #caa746; outline-offset: 2px; }
.community-payment-card.has-art { background-color: #101713; }
.community-payment-art{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;z-index:0}
.community-payment-card.has-art .community-payment-number, .community-payment-card.has-art .community-payment-card-bottom { position: absolute; z-index: 1; display: block; text-shadow: 0 1px 5px #000, 0 2px 8px #000; }
.community-payment-card.has-art .community-payment-number { font-size: clamp(14px, 1.35vw, 22px); }
.community-payment-card.has-art .community-payment-card-bottom { font-size: clamp(9px, .9vw, 14px); font-weight: 800; text-transform: uppercase; }
.community-payment-card.has-art .community-payment-card-bottom span { white-space: normal; }
.community-payment-card-top { position: relative; z-index: 2; }
.community-payment-card.has-art .community-payment-card-top { justify-content: flex-end; }
.community-payment-card:not(.has-art) .community-payment-number { display: block; margin: 22% 0 6%; }
.community-payment-card:not(.has-art) .community-payment-card-bottom { display: flex; }
.community-payment-section { margin: 18px 0 0; padding: 18px; border: 1px solid #dce9dc; border-radius: 18px; background: #fff; box-shadow: 0 9px 30px #1a463010; }
.community-payment-grid { align-items: start; }
.community-payment-card { max-width: 290px; }
.community-payment-card.has-art .community-payment-number { font-size: clamp(10px, .9vw, 14px); }
.community-payment-card.has-art .community-payment-card-bottom { font-size: clamp(8px, .65vw, 10px); }
.community-avatar--large { overflow: hidden; }
.community-avatar--large img { width: 100%; height: 100%; object-fit: cover; }
.community-photo-preview { display: flex; align-items: center; gap: 12px; color: #456453; font-weight: 700; }
.community-photo-preview img { width: 70px; height: 70px; border-radius: 14px; object-fit: cover; border: 1px solid #dce9dc; }
.community-personal-qr { display: flex; align-items: center; justify-content: space-between; gap: 18px; padding: 14px; border: 1px solid #dce9dc; border-radius: 14px; background: #f6fbf7; }
.community-personal-qr p { margin: 5px 0 10px; max-width: 560px; }
.community-personal-qr strong { color: #145a3f; letter-spacing: .09em; }
.community-personal-qr img { width: 110px; height: 110px; flex: 0 0 110px; border: 6px solid #fff; border-radius: 12px; }
.community-telegram-actions { display: flex; flex-wrap: wrap; gap: 8px; }
@media (max-width: 520px) { .community-personal-qr { align-items: flex-start; flex-direction: column; } }
.community-student-record { margin-top: 16px; border-radius: 18px; }
.community-danger-btn { border-color: #e8b7b7 !important; color: #9f3333 !important; }
.community-danger-btn:hover { background: #fff1f1 !important; }
.community-group-new { width: 100%; margin-top: 15px; }
.community-group-notice { display: grid; gap: 10px; margin-top: 20px; padding-top: 18px; border-top: 1px solid #dce9dc; }
.community-group-notice h4, .community-group-notice p { margin: 0; }
.community-group-notice .secondary-btn { justify-self: start; }
.community-student-record .profile-qr-img { display: block; width: 160px; height: 160px; max-width: 100%; object-fit: contain; margin: 12px auto; }
.community-student-record .portal-medication-list { display: grid; gap: 8px; margin: 12px 0; }
.community-student-record .portal-medication-row { display: flex; align-items: center; padding: 12px; border: 1px solid #d6e5d8; border-radius: 11px; background: #fff; }
.community-student-record .portal-medication-row strong, .community-student-record .portal-medication-row small { display: block; }
.community-student-record .portal-medication-row small { margin-top: 3px; color: #62796b; }
.community-group-form { display: grid; gap: 18px; margin-top: 18px; }
.community-group-fieldset { min-width: 0; margin: 0; padding: 16px; border: 1px solid #d8e8db; border-radius: 14px; background: #f8fcf8; }
.community-group-fieldset legend { padding: 0 6px; color: #1e6647; font-weight: 800; }
.community-group-fieldset p { margin: 0 0 10px; color: #627a69; font-size: 12px; }
.community-group-checks { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 8px 16px; }
.community-group-checks label, .community-group-switch { display: flex; align-items: center; gap: 8px; min-height: 37px; color: #315a41; font-size: 13px; font-weight: 650; }
.community-group-checks input, .community-group-switch input { width: 18px; height: 18px; margin: 0; accent-color: #168b5e; }
.community-group-actions { display: flex; flex-wrap: wrap; gap: 9px; }
.card-template-previews { display: flex; flex-wrap: wrap; gap: 12px; margin: 4px 0 8px; }
.card-template-option { display: grid; gap: 5px; width: min(220px, 44%); padding: 10px; border: 1px solid #dce8dd; border-radius: 12px; background: #f8fcf8; font-size: 11px; }
.card-template-option img { display: block; width: 100%; aspect-ratio: 85.6 / 54; object-fit: cover; border-radius: 8px; }
.card-template-option span { display: grid; place-items: center; aspect-ratio: 85.6 / 54; border-radius: 8px; background: #e6f0e7; color: #56715c; }
@media (max-width: 700px) { .community-group-checks { grid-template-columns: 1fr; } }
.community-payment-open { position: absolute; z-index: 2; right: 11px; bottom: 8px; padding: 4px 7px; border-radius: 7px; background: #071c16bb; color: #fff; font-size: 10px; font-weight: 750; }
.community-payment-print { box-sizing: border-box; display: flex; align-items: center; justify-content: center; gap: 7px; width: 100%; max-width: 290px; min-height: 38px; margin: 0 0 14px; text-decoration: none; }
.community-card-detail { margin: 17px 0; padding: 19px; border: 1px solid #c8decf; border-radius: 15px; background: #f8fcf8; }
.community-card-metrics { display: flex; flex-wrap: wrap; gap: 10px; margin: 15px 0; }
.community-card-metrics > div { flex: 1 1 140px; padding: 12px; border: 1px solid #d7e9da; border-radius: 10px; background: #fff; }
.community-card-metrics span, .community-card-metrics strong { display: block; }
.community-card-metrics span { color: #69816d; font-size: 11px; }
.community-card-metrics strong { margin-top: 3px; font-size: 18px; }
.community-card-actions { display: flex; flex-wrap: wrap; gap: 7px; }
.community-card-actions .secondary-btn { min-height: 38px; }
.community-card-manage { display: flex; flex-wrap: wrap; align-items: end; gap: 9px; margin-top: 14px; }
.community-card-manage label { display: grid; flex: 1 1 130px; gap: 4px; color: #43624d; font-size: 11px; font-weight: 700; }
.community-card-manage input { width: 100%; min-height: 38px; }
.community-card-detail h4 { margin: 19px 0 8px; }
.community-card-statement { max-height: 260px; overflow: auto; border: 1px solid #d8e8dc; border-radius: 10px; background: #fff; }
.community-card-statement > div { display: flex; justify-content: space-between; gap: 10px; padding: 10px 12px; border-bottom: 1px solid #e9f1ea; font-size: 12px; }
.community-card-statement > div:last-child { border-bottom: 0; }
.community-card-statement small { display: block; color: #708879; }
.community-card-statement p { padding: 12px; }
.community-card-design{display:grid;gap:14px;margin-top:18px;padding:17px;border:1px solid #c6dfcf;border-radius:14px;background:#f0f8f2}
.community-card-design h4{margin:0 0 5px}.community-card-design p,.community-card-design small{margin:0;color:#526f5b;line-height:1.45}
.community-card-design-fields,.community-card-design-faces{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px}
.community-card-design-fields label,.community-card-design-faces label{display:grid;gap:5px;color:#365e42;font-size:12px;font-weight:700}
.community-card-design-fields input,.community-card-design-fields select,.community-card-design-faces input[type=file]{width:100%;min-height:39px;padding:8px;border:1px solid #b7d2bd;border-radius:9px;background:#fff}
.community-card-design-faces>div{display:grid;align-content:start;gap:8px;padding:12px;border:1px solid #d1e4d5;border-radius:11px;background:#fff}
.community-card-design-faces img{width:100%;aspect-ratio:85.6/54;object-fit:cover;border-radius:8px;border:1px solid #d7e2d8}
.community-card-face-preview{width:100%;aspect-ratio:85.6/54;background-repeat:no-repeat;border-radius:8px;border:1px solid #d7e2d8}
.community-card-design-faces img+img{outline:3px solid #168452;outline-offset:-3px}
.community-card-design-clear{display:flex!important;align-items:center;gap:7px}.community-card-design-clear input{width:auto}
@media(max-width:650px){.community-card-design-fields,.community-card-design-faces{grid-template-columns:1fr}}
.pos-pin-backdrop { position: fixed; z-index: 2000; inset: 0; display: grid; place-items: center; padding: 18px; background: #102d24ba; }
.pos-pin-dialog { width: min(420px, 100%); padding: 24px; border: 1px solid #c8ddcf; border-radius: 18px; background: #fff; box-shadow: 0 20px 65px #071a1466; }
.pos-pin-dialog h3 { margin: 6px 0; font-size: 23px; }
.pos-pin-dialog p { color: #5e7564; line-height: 1.5; }
.pos-pin-dialog label { display: block; margin-bottom: 6px; font-weight: 800; }
.pos-pin-dialog input { width: 100%; min-height: 50px; padding: 8px 12px; border: 1px solid #b5d0bd; border-radius: 10px; font-size: 21px; letter-spacing: .25em; text-align: center; }
.pos-pin-actions { display: flex; justify-content: flex-end; gap: 8px; margin-top: 17px; }
