/* Student profile and document presentation. Shared base rules remain in panel-updates.css. */
/* Compact student personal area and membership overview. */
.student-personal-welcome{display:flex!important;align-items:center;justify-content:flex-start!important;gap:22px;padding:20px 26px!important;background:#fff!important;border:1px solid #e3dfd8!important;border-radius:20px!important;position:relative;box-shadow:0 6px 20px #00000006!important}.student-personal-welcome .student-welcome-bartender{flex:0 0 84px;width:84px;height:84px;border-radius:17px;border:1px solid #cda953;box-shadow:none;object-fit:cover}.student-personal-greeting{min-width:0;flex:1}.student-personal-welcome .student-personal-greeting h2{font-size:clamp(26px,2.2vw,32px)!important;font-weight:750!important;line-height:1.2;letter-spacing:-.025em;margin:0 0 7px;color:#151515!important;overflow-wrap:anywhere}.student-personal-welcome .student-personal-greeting p{font-size:16px!important;line-height:1.45;margin:0;color:#68666c!important}.student-personal-label{align-self:flex-start;margin-top:8px;color:#9c9ba2;font-size:10px;font-weight:750;letter-spacing:.14em;white-space:nowrap}
.student-membership-validity.membership-overview{display:grid!important;grid-template-columns:minmax(0,1fr) minmax(280px,360px);gap:30px;padding:26px 32px!important;border:1px solid #aa8b45;border-radius:20px;background:radial-gradient(ellipse at center,#1c1e1e,#141617)!important;align-items:center;box-shadow:0 8px 24px #00000008}.membership-overview-information{min-width:0;padding:0}.membership-overview-badge{display:inline-flex;align-items:center;gap:8px;padding:5px 12px;border-radius:30px;background:#d8efc5;color:#1d3020;font-size:12px;font-weight:750;line-height:1.4}.membership-overview-badge .icon{width:18px;height:18px;padding:3px;background:#243c2a;color:#e3f5d6;border-radius:50%;flex:none}.membership-overview-information h2{font-size:clamp(26px,2.1vw,30px)!important;font-weight:750;line-height:1.2;margin:13px 0 7px;color:#fff!important;overflow-wrap:anywhere}.membership-overview-information p{font-size:16px;line-height:1.45;color:#bfc0c4!important;margin:0 0 18px}.membership-overview-facts{display:flex;flex-wrap:wrap;gap:14px 32px;margin:0 0 20px;border:0;padding:0}.membership-overview-facts>div{min-width:0;padding:0;border:0}.membership-overview-facts dt{font-size:10px;font-weight:700;letter-spacing:.1em;color:#a7a9af;line-height:1.4;margin:0 0 5px}.membership-overview-facts dd{font-size:21px;font-weight:700;line-height:1.2;color:#f3f3f3;margin:0;white-space:nowrap}.membership-overview-facts>div+div dd{font-size:20px}.membership-overview-documents{display:inline-flex!important;justify-content:center;align-items:center;gap:12px;width:auto;max-width:100%;min-height:44px;padding:11px 20px!important;font-size:15px!important;font-weight:750!important;background:linear-gradient(110deg,#d0ad57,#dfbf6c)!important;color:#171a13!important;border:1px solid #dec074!important;border-radius:11px!important;box-shadow:none!important}.membership-overview-documents .icon{width:20px;height:20px}.membership-overview-card{min-width:0;margin:0;padding:0;display:flex;flex-direction:column;align-items:center;gap:10px;border:0}.membership-overview-card .membership-validity-credential{display:block;width:100%!important;max-width:360px;flex:none!important;border:1px solid #d1ad54;border-radius:15px;overflow:hidden;box-shadow:0 10px 24px #0003;background:none}.membership-overview-card .membership-validity-front{display:block}.membership-overview-card .membership-validity-front img{display:block;width:100%;height:auto}.membership-overview-card figcaption{font-size:12px;color:#a9abb1;text-align:center}.membership-overview.is-expiring .membership-overview-badge{background:#ffe2a0}.membership-overview:is(.is-expired,.is-suspended){border-color:#838383;background:linear-gradient(120deg,#282828,#161616)!important}.membership-overview:is(.is-expired,.is-suspended) .membership-overview-badge{background:#ccc;color:#333}.membership-overview.is-pending .membership-overview-badge{background:#e2e2e2;color:#333}
@media(max-width:1100px){.student-personal-label{position:absolute;right:24px;top:8px;font-size:9px;margin:0}.student-personal-welcome{padding:22px 24px!important}.student-membership-validity.membership-overview{grid-template-columns:minmax(0,1fr) minmax(240px,320px);gap:24px;padding:24px!important}}
@media(max-width:760px){.student-personal-welcome{gap:16px;padding:25px 18px 18px!important}.student-personal-welcome .student-welcome-bartender{width:68px;height:68px;flex-basis:68px;border-radius:14px}.student-personal-welcome .student-personal-greeting h2{font-size:24px!important}.student-personal-welcome .student-personal-greeting p{font-size:14px!important}.student-personal-label{top:8px;right:18px;font-size:8px}.student-membership-validity.membership-overview{grid-template-columns:1fr;gap:20px;padding:22px!important}.membership-overview-information h2{font-size:26px!important}.membership-overview-information p{font-size:15px;margin-bottom:16px}.membership-overview-facts{gap:12px 26px;margin-bottom:18px}.membership-overview-facts dd{font-size:20px}.membership-overview-facts>div+div dd{font-size:18px}.membership-overview-card{padding:18px 0 0;border-top:1px solid #ffffff16}.membership-overview-card .membership-validity-credential{max-width:320px}}

/* Compact student profile editor and public preview. */
.student-profile-section-heading{display:flex;align-items:center;gap:14px;margin:30px 0 18px}.student-profile-section-heading>span{display:grid;place-items:center;width:46px;height:46px;background:#f5edda;color:#8b661e;border-radius:13px;flex:none}.student-profile-section-heading .icon{width:24px;height:24px}.student-profile-section-heading h2{margin:0 0 5px;font-size:25px;font-weight:750}.student-profile-section-heading p{margin:0;color:#77747b;font-size:14px}.student-profile-workspace{display:grid;grid-template-columns:minmax(0,1.12fr) minmax(0,.88fr);gap:20px;align-items:start}.student-profile-workspace>.card{min-width:0;padding:24px;border:1px solid #e1ddd6;border-radius:18px;box-shadow:0 5px 20px #00000004}.student-profile-workspace h3{font-size:18px;line-height:1.3;font-weight:750;letter-spacing:-.015em;margin:0 0 20px}.student-profile-person{display:flex;align-items:center;gap:18px;margin-bottom:22px}.student-profile-person>img{width:92px;height:92px;flex:0 0 92px;border:1px solid #d7bb78;border-radius:16px;object-fit:cover}.student-profile-person>div{min-width:0}.student-profile-person h2{font-size:23px;font-weight:750;line-height:1.25;margin:0 0 6px;overflow-wrap:anywhere}.student-profile-person p{font-size:14px;margin:0 0 10px;color:#77737a}.student-profile-person .badge{font-size:11px;padding:5px 9px}.student-profile-facts{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:22px 24px;padding:20px 0;margin:0;border-top:1px solid #e8e4de;border-bottom:1px solid #e8e4de}.student-profile-facts>div{min-width:0}.student-profile-facts dt{font-size:12px;color:#77737a;margin:0 0 6px}.student-profile-facts dd{font-size:14px;font-weight:650;line-height:1.5;overflow-wrap:anywhere;margin:0;color:#29262a}.student-profile-personalize{margin-top:22px}.student-profile-personalize h3{margin-bottom:14px}.student-profile-option{display:flex;align-items:center;gap:12px;width:100%;text-align:left;border:1px solid #e2ddd4;border-radius:12px;background:#fff;padding:12px;margin-top:10px;color:#29262a;transition:background .2s,border-color .2s}.student-profile-option:hover{background:#fcfaf5;border-color:#c5a862}.student-profile-option-icon{display:grid;place-items:center;flex:0 0 38px;height:38px;border-radius:10px;background:#f7efd9;color:#88651e}.student-profile-option-icon .icon{width:20px;height:20px}.student-profile-option>span:nth-child(2){flex:1;min-width:0}.student-profile-option strong{display:block;font-size:14px;font-weight:700}.student-profile-option small{display:block;font-size:12px;line-height:1.45;margin-top:3px;color:#77737a}.student-profile-option>.icon{width:17px;height:17px;flex:none}.student-profile-preview-panel>h3{margin-bottom:5px}.student-profile-preview-description{font-size:13px;color:#77737a;margin:0 0 16px}.student-profile-preview-actions{display:flex;flex-wrap:wrap;justify-content:center;align-items:center;gap:10px;margin-top:18px}.student-profile-preview-actions .button{font-size:12px;padding:10px 14px;border-radius:10px;min-height:40px;display:inline-flex;align-items:center;justify-content:center;gap:8px}.student-profile-preview-actions .icon{width:17px;height:17px}
@media(max-width:800px){.student-profile-workspace{grid-template-columns:1fr}.student-profile-workspace>.card{padding:20px}.student-profile-section-heading h2{font-size:23px}.student-profile-person h2{font-size:21px}}
@media(max-width:400px){.student-profile-person{gap:12px}.student-profile-person>img{width:74px;height:74px;flex-basis:74px}.student-profile-person h2{font-size:19px}.student-profile-facts{gap:18px 14px}.student-profile-facts dd{font-size:13px}.student-profile-preview-actions .button{flex:1 1 auto}}

/* ABEC membership wallet: original credential and compact system palette. */
.student-membership-validity.membership-overview{grid-template-columns:minmax(240px,360px) minmax(0,1fr);gap:30px;padding:26px 30px!important;background:linear-gradient(115deg,#191d19,#2b3327)!important;border-color:#ad9250;box-shadow:0 8px 24px #1820170a}
.membership-overview-card{grid-column:1;grid-row:1;padding:0;border:0}
.membership-overview-information{grid-column:2;grid-row:1;border-left:1px solid #ad925055;padding-left:30px;display:flex;flex-direction:column;align-items:flex-start}
.membership-overview-information h2{order:-2;font-size:clamp(24px,2vw,28px)!important;margin:0 0 12px}
.membership-overview-badge{background:#dcebc9;color:#203b27;margin-bottom:14px}
.membership-overview-information p{font-size:14px;margin:0 0 16px;color:#b9bdb6!important}
.membership-overview-facts{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;width:100%;margin:0 0 16px}
.membership-overview-facts>div{position:relative;padding:14px 12px 14px 52px;border:1px solid #ad925080;border-radius:12px;background:#ffffff03}
.membership-overview-facts dt{font-size:12px;letter-spacing:0;font-weight:500;text-transform:none;color:#b9bdb6;margin-bottom:5px}
.membership-overview-facts dt .icon{position:absolute;left:12px;top:50%;transform:translateY(-50%);width:30px;height:30px;padding:6px;border:1px solid #ad925070;border-radius:50%;color:#d9c785;background:#d9c7850c}
.membership-overview-facts dd,.membership-overview-facts>div+div dd{font-size:20px;color:#faf9f5}
.membership-overview-documents{width:100%;min-height:44px;background:linear-gradient(110deg,#d9c785,#cdb575)!important;border-color:#d9c785!important;font-size:14px!important;padding:11px 16px!important}
.membership-overview-card .membership-validity-credential{border-color:#d9c785;max-width:360px;box-shadow:0 8px 20px #0002}
.membership-overview-card figcaption{color:#b9bdb6;font-size:11px}
.membership-overview.without-credential{grid-template-columns:1fr}
.membership-overview.without-credential .membership-overview-information{grid-column:1;border-left:0;padding-left:0}
.membership-overview:is(.is-expired,.is-suspended) .membership-overview-facts>div{border-color:#777}
@media(max-width:1100px){.student-membership-validity.membership-overview{grid-template-columns:minmax(210px,280px) minmax(0,1fr);gap:22px;padding:24px!important}.membership-overview-information{padding-left:22px}.membership-overview-facts>div{padding:12px}.membership-overview-facts dt .icon{display:none}.membership-overview-facts dd,.membership-overview-facts>div+div dd{font-size:18px}}
@media(max-width:760px){.student-membership-validity.membership-overview{grid-template-columns:1fr;gap:20px;padding:22px!important}.membership-overview-card{grid-column:1;grid-row:1;padding:0;border:0}.membership-overview-card .membership-validity-credential{max-width:300px}.membership-overview-information{grid-column:1;grid-row:2;border-left:0;border-top:1px solid #ad925055;padding:20px 0 0;width:100%}.membership-overview-information h2{font-size:24px!important}.membership-overview-facts{gap:10px}.membership-overview-facts dt{font-size:11px}.membership-overview-facts dd,.membership-overview-facts>div+div dd{font-size:18px}.membership-overview.without-credential .membership-overview-information{grid-row:1;border:0;padding:0}}

/* Photo editor: circular preview beside directional controls. */
.student-photo-dialog{width:min(740px,calc(100vw - 28px));max-width:740px}
.photo-editor-layout{display:grid;grid-template-columns:minmax(180px,1fr) minmax(240px,1fr);align-items:center;gap:28px;margin:22px 0}
.photo-editor-layout>form{display:contents}
.photo-editor-layout .profile-photo-upload-preview{width:220px;height:220px;max-width:100%;margin:0 auto;object-fit:cover}
.photo-editor-layout .photo-crop-controls{padding:18px;background:#f5f4f0;border:1px solid #e0d9c7;border-radius:16px;min-width:0}
.photo-crop-controls[hidden]{display:none!important}
.photo-crop-controls h3{font-size:15px;margin:0 0 14px;text-align:center;color:#2c3528}
.photo-editor-layout .photo-crop-arrows{display:grid;grid-template-columns:repeat(3,40px);grid-template-rows:repeat(3,40px);gap:6px;justify-content:center;margin:0 0 16px}
.photo-crop-arrows button{width:40px;height:40px;min-width:0;padding:0;border-radius:50%;background:#2c3528;color:#fff;border:1px solid #2c3528;font-size:20px;display:flex;align-items:center;justify-content:center}
.photo-crop-arrows [data-photo-move=up]{grid-area:1/2}.photo-crop-arrows [data-photo-move=left]{grid-area:2/1}.photo-crop-arrows [data-photo-move=reset]{grid-area:2/2;background:#d9c785;color:#252b21;border-color:#b49b59;position:relative}.photo-crop-arrows [data-photo-move=right]{grid-area:2/3}.photo-crop-arrows [data-photo-move=down]{grid-area:3/2}
.photo-crop-arrows [data-photo-move=reset] span{position:absolute;font-size:8px;bottom:2px;line-height:1}
.photo-zoom-control{border-top:1px solid #e0d9c7;padding-top:12px;text-align:center}.photo-zoom-control label{font-size:12px;color:#2c3528;margin:0 0 8px;display:block}.photo-zoom-row{display:flex;align-items:center;gap:10px}.photo-zoom-row button{width:32px;height:32px;flex:none;border:1px solid #d3c28e;border-radius:50%;background:#fff;color:#2c3528;padding:0;font-size:20px}.photo-zoom-row input[type=range]{width:100%;min-width:0;accent-color:#b59a4d;padding:0;margin:0}.photo-zoom-control output{display:block;font-size:12px;color:#2c3528;margin-top:4px}
.photo-editor-layout>label,.photo-editor-layout>form>label,.photo-editor-layout>p,.photo-editor-layout>form>p,.photo-editor-layout .notice,.photo-editor-layout>form>.button{grid-column:1/-1}
.photo-crop-controls button:focus-visible{outline:2px solid #a88d42;outline-offset:3px}
@media(max-width:600px){.photo-editor-layout{grid-template-columns:1fr;gap:18px}.photo-editor-layout .profile-photo-upload-preview{width:180px;height:180px}.photo-editor-layout .photo-crop-controls{width:100%;max-width:320px;margin:auto}.student-photo-dialog{padding:24px!important}}

/* Keep the centering action readable and separate from directional movement. */
.photo-editor-layout .photo-crop-arrows{grid-template-rows:repeat(3,40px) 34px;row-gap:6px}
.photo-editor-layout .photo-crop-arrows [data-photo-move=reset]{grid-area:4/1/5/4;width:100%;height:34px;border-radius:9px;gap:6px;font-size:18px;margin-top:2px}
.photo-editor-layout .photo-crop-arrows [data-photo-move=reset] span{position:static;font-size:12px;line-height:1.2;font-weight:650}

/* Student documents: compact paired cards. */
.student-document-dashboard{padding:18px!important;border:1px solid #e4e0d8;border-radius:18px;background:#fff}
.student-document-dashboard>h2{font-size:21px;margin:0 0 10px;color:#171917}
.student-document-person{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:12px 0;border-block:1px solid #e7e0d4;margin-bottom:14px}
.student-document-person h3{font-size:18px;margin:0 0 3px}.student-document-person p{font-size:14px;color:#656971;margin:0}.student-document-count{font-size:12px;white-space:nowrap;padding:9px 14px;background:#faf8f1;border:1px solid #e2d6b9;border-radius:30px;color:#62665f}
.student-document-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;align-items:start}
.student-document-tile{padding:16px;border:1px solid #e3dac8;border-radius:14px;min-width:0;display:flex;flex-direction:column}
.student-document-tile-heading{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:12px;font-size:13px;color:#826219}.student-document-tile-heading>span{display:inline-flex;align-items:center;gap:8px}.student-document-tile-heading .icon{width:24px;height:24px;flex:none}.student-document-tile-heading .student-document-approved{font-size:11px;color:#245b2b;background:#e5f6e4;border-radius:20px;padding:6px 9px}.student-document-approved .icon{width:16px;height:16px}
.student-document-tile>h3{font-size:18px;line-height:1.3;margin:0 0 10px;overflow-wrap:anywhere}.student-document-details{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));margin:0 0 12px;border-top:1px solid #e7e0d4}.student-document-details>div{padding:9px 0;border-bottom:1px solid #e7e0d4;min-width:0}.student-document-details>div:not(.full){padding-right:12px}.student-document-details .full{grid-column:1/-1}.student-document-details dt{font-size:12px;color:#6b7077;margin-bottom:3px}.student-document-details dd{font-size:14px;color:#202421;margin:0;overflow-wrap:anywhere}
.student-document-main-action{width:100%;min-height:42px;font-size:13px!important;display:flex;align-items:center;justify-content:center;gap:8px;margin-top:0;background:linear-gradient(110deg,#d5b969,#decc8c)!important;color:#171b13!important;box-shadow:none!important}
.student-document-access-label{font-size:12px;color:#6b7077;margin:0 0 9px}.student-document-access{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin-top:0}.student-document-access .student-document-main-action{grid-column:1/-1}.student-document-access .button{font-size:12px;min-height:42px;display:flex;align-items:center;justify-content:center;gap:8px;padding:10px;border-color:#c7aa62}.student-document-access .icon{width:20px;height:20px;flex:none}
@media(max-width:760px){.student-document-grid{grid-template-columns:1fr}.student-document-dashboard{padding:18px!important}.student-document-person{flex-wrap:wrap;gap:12px}.student-document-person>div{width:100%}.student-document-person h3{font-size:20px}.student-document-count{font-size:11px}.student-document-tile{padding:16px}.student-document-tile>h3{font-size:18px}.student-document-tile-heading{font-size:12px}}

.student-document-tile .student-document-details{column-gap:16px}
.student-document-tile .student-document-main-action{padding:9px 12px!important;min-height:40px}
.student-document-access .button{min-height:40px;padding:9px 10px}
@media(min-width:1100px){.student-document-tile .student-document-details .full:last-child:not(:first-child){grid-column:auto}.student-document-tile .student-document-details>div{border-bottom:0}.student-document-tile .student-document-details{border-bottom:1px solid #e7e0d4}}

/* Remove inherited definition-list spacing inside student document cards. */
.dashboard-body .student-document-tile{padding:16px;gap:0;min-height:0}
.dashboard-body .student-document-tile-heading{margin:0 0 10px;min-height:28px;line-height:1.3}
.dashboard-body .student-document-tile>h3{font-size:18px;line-height:1.3;margin:0 0 10px}
.dashboard-body .student-document-tile .student-document-details{gap:0 16px;padding:0;margin:0 0 12px;align-content:start;grid-auto-rows:auto;min-height:0}
.dashboard-body .student-document-tile .student-document-details>div{padding:8px 0;min-height:0;margin:0}
.dashboard-body .student-document-tile .student-document-details dt{font-size:12px;line-height:1.35;margin:0 0 3px;padding:0}
.dashboard-body .student-document-tile .student-document-details dd{font-size:14px;line-height:1.4;margin:0;padding:0;min-height:0}
.dashboard-body .student-document-tile .student-document-main-action{margin-top:0;min-height:40px;padding:9px 12px!important;font-size:13px!important;line-height:1.4}

.dashboard-body .student-document-tile .student-course-details{grid-template-columns:minmax(0,1.5fr) minmax(0,1fr)}
@media(max-width:400px){.dashboard-body .student-document-tile .student-course-details{grid-template-columns:1fr}.dashboard-body .student-document-tile .student-course-details>div{grid-column:1}}

.student-profile-option small{overflow-wrap:anywhere}
