:root{color-scheme:light;--ink:#193747;--muted:#647d8c;--teal:#087f8c;--line:#dce6eb}*{box-sizing:border-box}body{margin:0;background:#f3f7fa;color:var(--ink);font:16px/1.7 "Microsoft YaHei","PingFang SC",sans-serif}a{color:var(--teal);text-decoration:none}a:hover{text-decoration:underline}header{background:white;border-bottom:1px solid var(--line);padding:20px max(24px,calc((100vw - 1160px)/2));display:flex;gap:24px;align-items:center;justify-content:space-between}.brand{font-size:23px;font-weight:bold;color:var(--ink);white-space:nowrap}.brand span{display:block;font-size:12px;color:var(--muted);font-weight:normal}nav,.actions,.entry-links{display:flex;gap:12px;flex-wrap:wrap;align-items:center}nav{font-size:14px}nav form,.actions form{margin:0}main{max-width:1160px;padding:38px 24px;margin:auto;min-height:70vh}h1{font-size:30px;margin:8px 0 12px}h2{font-size:21px}h3{font-size:17px}p{color:var(--muted)}.intro{max-width:820px}.eyebrow,small{font-size:13px;color:var(--muted)}.filters{display:flex;gap:10px;margin:28px 0}.filters input{flex:1}.filters select{max-width:240px}.cards{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(280px,100%),1fr));gap:16px;margin:22px 0}.card,.panel{background:white;border:1px solid var(--line);border-radius:12px;padding:24px}.card{color:var(--ink);display:block;overflow-wrap:anywhere}.card:hover{text-decoration:none;border-color:var(--teal)}.card span{color:var(--teal);font-size:13px}.card p{white-space:pre-line}.card h2{margin:10px 0}.card h3{margin:8px 0}.body-text{background:white;border:1px solid var(--line);border-radius:12px;padding:28px;white-space:pre-wrap;overflow-wrap:anywhere;line-height:1.95;margin:25px 0}.empty{grid-column:1/-1;background:white;border:1px dashed var(--line);padding:36px;border-radius:10px;color:var(--muted)}button,.button{display:inline-flex;align-items:center;justify-content:center;border:1px solid #bdd3dc;background:white;border-radius:7px;padding:10px 16px;font:inherit;font-size:14px;color:var(--teal);cursor:pointer}button:hover,.button:hover{background:#eaf5f7;text-decoration:none}.solid{background:var(--teal);color:white;border-color:var(--teal)}.solid:hover{background:#086e78;color:white}label{display:block;margin:18px 0;font-size:14px}input,select,textarea{display:block;width:100%;padding:11px 12px;border:1px solid #cadbe3;border-radius:7px;background:white;font:inherit;color:var(--ink);margin-top:7px}input:focus,select:focus,textarea:focus{outline:2px solid #81d2d7;outline-offset:2px}textarea{resize:vertical}.actions{margin:20px 0}.entry-links{margin:24px 0}.management-grid{display:grid;grid-template-columns:minmax(250px,.7fr) minmax(0,1.3fr);gap:28px}.management-grid .cards{grid-template-columns:1fr}.panel h2{margin:0}.panel form>small{display:block}.panel p{font-size:14px}.panel hr{border:0;border-top:1px solid var(--line);margin:28px 0}#accounts{margin-top:32px}.students{display:grid;gap:15px;margin-top:24px}.students article{border-top:1px solid var(--line);padding:12px 0}.students summary{cursor:pointer;font-size:14px;color:var(--teal)}.notice{background:#e2f3f2;border:1px solid #b9dedc;color:#08736f;padding:14px 18px;border-radius:8px;margin:20px 0}footer{max-width:1160px;margin:auto;padding:26px 24px;color:var(--muted);font-size:12px}@media(max-width:720px){header{display:block;padding:16px 20px}nav{margin-top:15px;gap:16px}main{padding:25px 18px}h1{font-size:25px}.management-grid{grid-template-columns:1fr}.filters{flex-wrap:wrap}.filters input{flex-basis:100%}.filters select{max-width:none;flex:1}.panel,.body-text,.card{padding:19px}.entry-links{gap:8px}.entry-links .button{font-size:12px;padding:8px 10px}}

.source-path{overflow-wrap:anywhere;font-size:12px}.card details .body-text{font-size:13px;padding:12px;max-height:300px;overflow:auto}.card summary{cursor:pointer;color:#087f8c}

.photo-gallery{display:grid;grid-template-columns:repeat(auto-fit,minmax(min(300px,100%),1fr));gap:20px;margin:25px 0}.photo-gallery figure{margin:0;border:1px solid #dce6eb;background:white;border-radius:12px;overflow:hidden}.photo-gallery img{display:block;width:100%;max-height:560px;object-fit:contain;background:#eaf1f4}.photo-gallery figcaption{padding:15px 18px;white-space:pre-wrap;overflow-wrap:anywhere;color:#526f80;font-size:15px}.panel .photo-gallery{grid-template-columns:1fr}.panel .photo-gallery img{max-height:300px}

.card-photo{width:100%;height:190px;object-fit:cover;border-radius:8px;display:block;margin-bottom:15px}
.contact-panel{display:flex;align-items:center;justify-content:space-between;gap:28px;background:white;border:1px solid var(--line);border-radius:12px;padding:24px;margin:24px 0}.contact-panel h2{margin:8px 0}.contact-panel p{margin-bottom:0}.contact-qr{width:min(260px,42vw);height:auto;border-radius:8px;display:block}@media(max-width:600px){.contact-panel{display:block}.contact-qr{width:min(320px,100%);margin:18px auto 0}}
