/* R26 corrections, scoped to actual current DOM; last in cascade. */
.entry-field input,.entry-field input:hover,.entry-field input:focus,.entry-field input:focus-visible{outline:none!important;outline-offset:0!important;box-shadow:none!important;border:0!important;background:transparent!important;min-width:0}
.entry-field:focus-within{border-color:#009759;box-shadow:0 0 0 3px #00a65d15}
.rule-symbol{display:inline-grid;place-items:center;font-family:'Segoe UI Emoji','Apple Color Emoji',sans-serif;font-size:25px;line-height:1;width:34px;height:34px;background:#fff;border-radius:11px;box-shadow:0 2px 7px #37643e10;flex:none;margin-right:6px}.program-rules h4,.program-rules p:has(>.rule-symbol){display:flex;align-items:center;gap:8px}
#corner #teacherGrid{flex:1 1 0;min-height:0;overflow-y:auto;overflow-x:hidden;align-content:start;align-items:start;grid-auto-rows:max-content;grid-template-columns:repeat(3,minmax(0,1fr));gap:16px}
#teacherGrid>.gvnb-card{width:100%;min-width:0;min-height:260px;height:auto;aspect-ratio:5/4;align-self:start;display:grid;grid-template-columns:minmax(85px,.9fr) minmax(0,1.2fr);grid-template-rows:minmax(0,1fr) 56px 44px;padding:18px;gap:10px;overflow:hidden}
#teacherGrid .gvnb-photo{width:100%;height:auto;max-height:100%;aspect-ratio:1;max-width:190px;align-self:center;justify-self:center;overflow:hidden}
#teacherGrid .actual-gvnb-photo{position:absolute;inset:0;width:100%;height:100%;object-fit:cover;object-position:center top;border-radius:18px}
#teacherGrid .gvnb-info{min-width:0;min-height:0;gap:5px}#teacherGrid .gvnb-info strong{font-size:clamp(15px,1.22vw,23px);line-height:1.3;display:-webkit-box;-webkit-line-clamp:3;-webkit-box-orient:vertical;overflow:hidden}#teacherGrid .gvnb-info p{font-size:clamp(11px,.8vw,14px);-webkit-line-clamp:3;line-height:1.4}
#teacherGrid .gvnb-stats{box-sizing:border-box;min-height:0;height:56px;padding:8px 0;grid-column:1/-1}#teacherGrid .gvnb-stats>span{display:grid;grid-template-columns:20px auto;grid-template-rows:auto auto;gap:0 5px;min-width:0}#teacherGrid .gvnb-stats .ui-icon{width:19px;height:19px}#teacherGrid .gvnb-stats small{font-size:11px}#teacherGrid .gvnb-stats b{font-size:19px}#teacherGrid .gvnb-card>button,#teacherGrid .given-badge{grid-column:1/-1;height:44px;min-height:44px;box-sizing:border-box;font-size:14px;padding:8px}
.avatar-chip.animal{position:relative;display:inline-flex;align-items:center;justify-content:center;overflow:hidden;background:#edf6e9}.avatar-chip.animal>img{position:static!important;inset:auto!important;display:block;width:100%!important;height:100%!important;max-width:100%!important;object-fit:contain;border-radius:0;border:0;transform:none!important}
#ranking.active{background:#c4ecdc var(--img-assets_rank_bg_png) center/cover no-repeat;overflow:hidden;isolation:isolate}.ranking-background{display:none}
.ranking-sign,.ranking-mascot{bottom:0;width:clamp(160px,20vw,340px);height:auto;aspect-ratio:auto;overflow:visible;z-index:-1}.ranking-sign img,.ranking-mascot img{display:block;position:static;width:100%;height:auto;max-width:100%;object-fit:contain;left:auto;top:auto}.ranking-sign{left:0}.ranking-mascot{right:0}
.rank-podium{aspect-ratio:3/1;flex:0 0 auto;container-type:inline-size;isolation:isolate}.podium-place{inset:0;width:100%;height:100%}.podium-place>div.podium-label{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:2px;box-sizing:border-box;padding:3px 5px;line-height:1.1;overflow:hidden;transform:translateX(-50%)}
.place-1>div.podium-label{left:49.8%;top:72%;width:18%;height:18.4%}.place-2>div.podium-label{left:25.5%;top:75.4%;width:16.8%;height:16.2%}.place-3>div.podium-label{left:74.1%;top:75.5%;width:16.8%;height:16.2%}
.podium-label>span{width:100%;flex:none;min-height:0;line-height:1.1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.podium-label>span:first-child{font:600 clamp(8px,1.3cqw,12px)/1.1 Nunito!important;color:#657964}.podium-label>span:nth-child(2){font:900 clamp(9px,1.7cqw,15px)/1.1 Nunito!important;color:#174f35}.podium-label>span:last-child{font:700 clamp(8px,1.3cqw,12px)/1.1 Nunito!important;color:#3e7152;display:flex;justify-content:center;align-items:center;gap:4px}.podium-label .ui-icon{width:1em;height:1em;flex:none}
#rankRows:empty{min-height:42px}#rankRows{padding-top:4px;font-size:13px;color:#5f7f65}.rank-panel{overflow:hidden}.rank-podium .avatar-chip{overflow:hidden}
@media(max-width:1100px) and (min-width:851px){#teacherGrid>.gvnb-card{padding:12px;gap:8px;min-height:245px;grid-template-columns:minmax(70px,.8fr) minmax(0,1.2fr)}#teacherGrid .gvnb-info strong{font-size:15px}#teacherGrid .gvnb-info p{-webkit-line-clamp:2}#teacherGrid .gvnb-stats small{font-size:10px}}
@media(max-width:850px){#corner #teacherGrid{grid-template-columns:repeat(2,minmax(0,1fr))}#teacherGrid>.gvnb-card{padding:14px;gap:9px;min-height:270px}.rank-podium{aspect-ratio:3/1}.ranking-sign,.ranking-mascot{display:none}}
@media(max-width:650px){#corner #teacherGrid{grid-template-columns:1fr}#teacherGrid>.gvnb-card{min-height:280px;grid-template-columns:110px minmax(0,1fr);padding:16px}#teacherGrid .gvnb-info strong{font-size:18px}#teacherGrid .gvnb-info p{font-size:12px}.podium-place>div.podium-label{gap:1px;padding:1px 2px}.podium-label>span:first-child{font-size:1.6cqw!important}.podium-label>span:nth-child(2){font-size:1.9cqw!important}.podium-label>span:last-child{font-size:1.6cqw!important}}

/* Fixed per-card geometry prevents all 54 rows being squeezed into viewport. */
#teacherGrid>.gvnb-card{min-height:0}
@media(max-width:1100px) and (min-width:651px){#corner #teacherGrid{grid-template-columns:repeat(2,minmax(0,1fr))}#teacherGrid>.gvnb-card{min-height:0}}
@media(max-width:650px){#teacherGrid>.gvnb-card{min-height:0}}
/* Additional R26 review: framed directory portraits, role information and admin flows. */
[hidden]{display:none!important}
#teacherGrid>.gvnb-card{position:relative;isolation:isolate;background:linear-gradient(135deg,#fffef5,#fff9e3);border:1px solid #dcb86b;box-shadow:0 5px 18px #58653713}
#teacherGrid>.gvnb-card::before{content:'';position:absolute;right:-32px;top:-30px;width:145px;height:145px;background:url(assets/art-r40/sunflower-corner-br.webp) center/contain no-repeat;opacity:.16;pointer-events:none;z-index:-1}
#teacherGrid .gvnb-photo{position:relative;aspect-ratio:1;flex:none;max-width:100%;max-height:none;border:0;border-radius:0;background:transparent;box-shadow:none;overflow:visible;padding:0}
#teacherGrid .gvnb-photo::after{content:'';position:absolute;inset:0;background:url(assets/art-r40/gvnb-frame-r26.webp) center/100% 100% no-repeat;pointer-events:none;z-index:2}
#corner #teacherGrid .gvnb-photo>.actual-gvnb-photo{position:absolute;inset:11% 10% 14%;width:80%;height:75%;object-fit:contain!important;object-position:center!important;border-radius:8px;background:#fffdf2;z-index:1}
#teacherGrid .gvnb-initials{position:absolute;inset:11% 10% 14%;display:grid;place-items:center;background:#edf3e4;border-radius:12px;font-size:36px}
#teacherGrid .gvnb-info{gap:7px;align-self:center}#teacherGrid .gvnb-eyebrow{font:900 10px/1.3 Nunito;letter-spacing:.09em;color:#a58129}#teacherGrid .gvnb-info>small{align-self:flex-start;font:800 12px Nunito;border-radius:8px;padding:3px 7px;background:#eaf2e3;color:#26734b}
#teacherGrid .gvnb-info strong{font-size:clamp(17px,1.35vw,26px);font-weight:900;-webkit-line-clamp:2;line-height:1.23;color:#144f35}
#teacherGrid .gvnb-job-title{font:700 clamp(12px,.94vw,17px)/1.35 Nunito;color:#426b4a;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}
#teacherGrid .gvnb-info p{font-size:clamp(11px,.82vw,15px);line-height:1.4;color:#6d7e58;-webkit-line-clamp:2}
#teacherGrid .gvnb-stat-art{width:30px;height:30px;object-fit:contain;grid-row:1/3;align-self:center}#teacherGrid .gvnb-stats>span{grid-template-columns:30px auto;column-gap:8px}#teacherGrid .gvnb-stats{background:#fffdf36b;border-color:#dfd2a8}#teacherGrid .gvnb-stats b{font-size:22px}#teacherGrid .gvnb-stats small{font-size:11px}.admin-teacher-label{background:#edf4e6;font-size:13px}
#participantsDialog th:nth-last-child(-n+3),#participantsDialog td:nth-last-child(-n+3){text-align:center!important;width:17%}
#adminRows .admin-row{display:grid;grid-template-columns:105px minmax(170px,1.1fr) minmax(160px,1fr) minmax(230px,1.5fr) 135px 210px;gap:14px;align-items:center;min-width:1080px;padding:14px 12px}
#adminRows .admin-row-head{position:sticky;top:0;z-index:2;background:#e4f0e3;border-bottom:1px solid #cedecb;color:#285a3d;font-size:13px}#adminRows{overflow:auto;background:white;border:1px solid #d9e5d5;border-radius:14px}.admin-row-actions{display:flex;gap:8px;justify-content:flex-end}.admin-row-actions button{white-space:nowrap}#adminRows .admin-row>span:nth-child(5){text-align:center;font-size:12px}
.header-tools #openAdmin{display:inline-flex;align-items:center;gap:7px;border:1px solid #cedbd2;background:#fff;color:#00844a;border-radius:20px;font:800 13px Nunito;padding:6px 12px;min-height:36px}
#adminPanel .vault-card{padding:0!important;overflow:hidden;gap:0;background:#fffdf4}#adminPanel .vault-card>.vault-card-preview{width:100%;height:auto;aspect-ratio:16/9;object-fit:contain;background:#f6f4e7;display:block;border-bottom:1px solid #eadfbf}
#adminPanel .vault-card>strong{padding:13px 16px 5px;font-size:17px}#adminPanel .vault-card>span{padding:0 16px 7px;font-size:13px}#adminPanel .vault-card>small{padding:0 16px 7px}#adminPanel .vault-card>small:last-child{padding-bottom:15px;color:#758465}
#giftEditor .gift-preview{padding-top:95px;align-self:start;position:static}#giftEditor #giftDownload{display:none!important}#resultDownloadStatus{font-size:13px;line-height:1.5}
@media(max-width:1200px){#teacherGrid .gvnb-info{gap:4px}#teacherGrid .gvnb-eyebrow{font-size:9px}#teacherGrid .gvnb-job-title{font-size:12px}#teacherGrid .gvnb-info strong{font-size:18px}#teacherGrid .gvnb-info p{font-size:12px}}
@media(max-width:850px){#giftEditor .gift-preview{padding-top:0}#teacherGrid .gvnb-job-title{font-size:13px}}
@media(max-width:650px){#teacherGrid .gvnb-info strong{font-size:18px}#teacherGrid .gvnb-info{gap:5px}.header-tools #openAdmin{font-size:0;padding:7px;width:32px;height:32px;min-height:32px}.header-tools #openAdmin .ui-icon{width:18px;height:18px}.gvnb-eyebrow{letter-spacing:0!important}}
/* The decorative frame cannot cover the photograph or a face near its corners. */
#corner #teacherGrid .gvnb-photo>.actual-gvnb-photo{z-index:3}

#adminRows .admin-row>span{grid-column:auto}

/* R26.1: override the generic 34px header-button width for text actions. */
.header-tools #openAdmin{width:auto;min-width:106px;flex:0 0 auto;white-space:nowrap;justify-content:center;box-sizing:border-box}
.header-tools #openAdmin .ui-icon{flex:0 0 18px}
.header-tools #backToLogin,.header-tools #openRanking,.header-tools #openCorner{flex-shrink:0;white-space:nowrap}
@media(max-width:650px){.header-tools #openAdmin{width:32px;min-width:32px;font-size:0;padding:6px}}

/* R32: headers and data share the same column alignment. */
#adminRows .admin-row>:nth-child(5){text-align:center;justify-self:stretch}
#adminRows .admin-row>:nth-child(6){text-align:center;justify-self:stretch}
#adminRows .admin-row-actions{justify-content:center}
