.ftes-public{--fp-blue:#1668a5;--fp-ink:#354e65;--fp-line:#dce7ef;color:var(--fp-ink);font-family:var(--mis-type-font-family,"MIS Sarabun",Sarabun,Tahoma,sans-serif);font-size:var(--mis-text-body,16px);line-height:1.55}
.ftes-public *{box-sizing:border-box}.ftes-public :is(p,span,small,strong,h1,h2,h3,h4,button,label,input,select,textarea,td,th,a,div){font-size:var(--mis-text-body,16px)!important}.ftes-public :is(h1,h2){font-size:var(--mis-text-section,22px)!important;font-weight:600;margin:0}.ftes-public h3{font-size:var(--mis-text-subheading,18px)!important;margin:0 0 12px}.ftes-public :is(small,.fp-caption,.fp-caption *,.fp-card-foot,.fp-card-foot *, .fp-eyebrow){font-size:var(--mis-text-small,14px)!important}.ftes-public :is(button,input,select,textarea){font-family:inherit!important}.ftes-public button,.ftes-public input,.ftes-public select,.ftes-public textarea{min-height:38px;border:1px solid #c8dcea;border-radius:8px;background:#fff;color:var(--fp-ink);padding:7px 12px;margin:0;box-shadow:none;line-height:1.5}.ftes-public button{cursor:pointer;transition:background .15s,border-color .15s}.ftes-public button:hover{background:#eef7fc;border-color:#6faacf}.ftes-public button:disabled{cursor:default;opacity:.55}.ftes-public :is(button,input,select,a,textarea):focus-visible{outline:3px solid #66b3dc;outline-offset:3px}.ftes-public .fp-primary{background:#2374a7;color:#fff;border-color:#2374a7}.ftes-public .fp-primary:hover{background:#185c8c}.ftes-public-page{margin:0;background:#f4f7fa}.fp-page{max-width:1440px;margin:auto;padding:24px}.fp-page-header{display:flex;flex-wrap:wrap;align-items:center;gap:12px;justify-content:space-between;margin-bottom:18px}.fp-page-header .fp-share{order:-1;flex-basis:100%}.fp-eyebrow{color:#70879b;margin:0 0 5px}.fp-share{display:flex;align-items:center;gap:8px;flex-wrap:wrap;margin:0 0 14px}.fp-share button:first-child{background:#eaf6f8;color:#167b84;border-color:#aed9df}.fp-share [role=status]{color:#298276;font-size:var(--mis-text-small,14px)!important}.fp-share-panel{margin-bottom:20px}.fp-card-controls{display:flex;align-items:center;justify-content:space-between;gap:12px;flex-wrap:wrap;margin:8px 0 10px;color:#718397}.fp-card-controls label{display:flex;gap:8px;align-items:center}.fp-card-controls select{max-width:310px;min-height:34px;padding:5px 9px}.fp-students{display:flex;align-items:stretch;gap:18px;background:#fff;padding:22px 26px;border:1px solid #e9eef3;border-radius:18px;box-shadow:0 5px 15px #16324d08}.fp-card-title{flex:0 0 235px;padding-right:20px;border-right:1px solid #d8e1e9;align-content:center}.fp-card-title p{color:#df6a37;margin:7px 0 12px;font-size:var(--mis-text-subheading,18px)!important}.fp-badge{display:inline-block;padding:4px 10px;border-radius:20px;background:#f3f5f8;color:#778ba0;font-size:var(--mis-text-small,14px)!important}.fp-levels{display:flex;flex:1;align-items:stretch;gap:8px}.fp-levels :is(button,a){flex:1;min-width:72px;border:1px solid transparent;background:transparent;padding:12px 8px;display:flex;flex-direction:column;gap:10px;justify-content:center;align-items:center}.fp-levels :is(button,a) span{color:#dc7247}.fp-levels :is(button,a) strong{font-size:var(--mis-text-section,22px)!important;font-weight:500;color:#0973c1}.fp-levels :is(button,a):not(:disabled):hover{background:#f0f8fd;border-color:#c9e3f6}.fp-total{align-self:center;min-width:116px;display:flex;align-items:baseline;justify-content:center;flex-wrap:wrap;gap:7px;background:#fff6ec!important;border:0!important;border-radius:16px!important;padding:21px 12px!important;color:#126bb0!important}.fp-total span{text-decoration:underline}.fp-total strong{font-size:var(--mis-text-section,22px)!important;color:#e26f3c;font-weight:500}.fp-total small{flex-basis:100%;text-align:center;color:#9b897e}.fp-card-foot{display:flex;gap:8px;justify-content:space-between;flex-wrap:wrap;padding:8px 5px;color:#8899a8}.fp-filters{display:flex;align-items:end;gap:12px;flex-wrap:wrap;background:#fff;border:1px solid var(--fp-line);border-radius:12px;padding:14px;margin:0 0 18px}.fp-filters label,.fp-table-tools label{display:flex;flex-direction:column;gap:6px}.fp-filters input{width:145px}.fp-filters select{max-width:360px}.fp-tabs{display:flex;gap:8px;margin:14px 0}.fp-tabs button{border-color:transparent;background:transparent}.fp-tabs button[aria-selected=true]{border-color:#bfdaec;background:#e6f2fa;color:#156a9f}.fp-kpis{display:grid;grid-template-columns:repeat(5,minmax(0,1fr));gap:12px;margin:16px 0}.fp-kpis button{text-align:left;min-height:95px;border-radius:12px;border-top:3px solid #6caac7;display:flex;flex-direction:column;gap:10px;background:white}.fp-kpis span{font-size:var(--mis-text-small,14px)!important;color:#698499}.fp-kpis strong{font-size:var(--mis-text-section,22px)!important;color:#226790}.fp-charts{display:grid;grid-template-columns:1.3fr 1fr;gap:16px;margin:16px 0}.fp-chart,.fp-section{background:#fff;border:1px solid var(--fp-line);border-radius:14px;padding:18px;min-width:0}.fp-chart>div{height:230px;position:relative}.fp-chart small{display:block;text-align:center;color:#7b8f9e;margin-top:8px}.fp-chart canvas{max-width:100%}.fp-section{margin:16px 0}.fp-table-tools{display:flex;gap:12px;align-items:end;justify-content:space-between;flex-wrap:wrap;margin:8px 0}.fp-table-tools input{min-width:250px}.fp-caption{color:#6b8193;margin:9px 0}.fp-table-scroll{width:100%;max-height:440px;overflow:auto;border:1px solid var(--fp-line);border-radius:10px}.ftes-public table{border-collapse:separate;border-spacing:0;width:100%;min-width:700px;table-layout:auto;margin:0}.ftes-public th,.ftes-public td{padding:12px 14px;text-align:left;vertical-align:middle;border:0;border-bottom:1px solid #e8eff4;font-weight:400;background:white}.ftes-public thead th{position:sticky;top:0;z-index:2;background:#e9f2f9;color:#285a7f;font-weight:600;white-space:nowrap}.ftes-public thead button{padding:0;background:transparent;border:0;min-height:24px;color:inherit;text-align:left;white-space:nowrap}.ftes-public tbody tr:nth-child(even) td{background:#f7fbfe}.ftes-public td:nth-child(2){min-width:200px;max-width:370px;overflow-wrap:anywhere}.ftes-public .fp-order{position:sticky;left:0;min-width:56px;text-align:center;z-index:1;color:#7790a5}.ftes-public thead .fp-order{z-index:3;background:#e9f2f9}.ftes-public .fp-numeric{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.ftes-public tfoot :is(th,td){background:#eaf5fb;font-weight:600}.fp-backdrop{position:fixed;inset:0;background:#15304975;z-index:99999;display:flex;align-items:center;justify-content:center;padding:16px;backdrop-filter:blur(3px)}.fp-dialog{background:white;border:1px solid #dbe6ee;box-shadow:0 20px 70px #0e283647;width:min(100%,1040px);max-height:calc(100dvh - 32px);border-radius:16px;display:flex;flex-direction:column;overflow:hidden}.fp-dialog header{padding:16px 20px;background:#f5f9fc;border-bottom:1px solid var(--fp-line);display:flex;gap:15px;align-items:center;justify-content:space-between;flex-shrink:0}.fp-dialog header button{font-size:var(--mis-text-section,22px)!important;min-width:38px;padding:3px}.fp-dialog-content{padding:16px 20px;overflow:auto;min-height:0}.fp-dialog .fp-table-scroll{max-height:calc(100dvh - 255px);min-height:100px}.fp-copy-text{width:100%;min-height:130px!important;resize:vertical;margin-bottom:12px!important;word-break:break-all}.fp-notice,.fp-error{padding:12px 16px;background:#fff6e8;color:#8a6538;border:1px solid #f1ddbd;border-radius:10px}.fp-loading,.fp-empty{text-align:center;padding:30px!important;color:#7890a3}.fp-embedded{padding:10px}.fp-embedded .fp-students{padding:16px;gap:12px}.fp-embedded .fp-card-title{flex-basis:210px}.fp-embedded .fp-card-controls{margin-top:0}.fp-full-link{display:block;text-align:right;color:#337fac;text-decoration:none;font-size:var(--mis-text-small,14px)!important;padding:2px 5px}.fp-embedded .fp-card-foot{padding:6px 3px}.fp-embedded .fp-dialog .fp-table-scroll{max-height:calc(100dvh - 250px)}
@media(max-width:850px){.fp-card-title{flex-basis:195px}.fp-students{padding:18px;gap:12px}.fp-levels{gap:0}.fp-levels :is(button,a){min-width:55px;padding:6px}.fp-total{min-width:85px}.fp-kpis{grid-template-columns:repeat(3,minmax(0,1fr))}.fp-charts{grid-template-columns:1fr}.fp-card-controls select{max-width:250px}}
@media(max-width:620px){.fp-page{padding:12px}.fp-students{flex-wrap:wrap;padding:16px;gap:14px}.fp-card-title,.fp-embedded .fp-card-title{flex:1 0 100%;padding:0 0 12px;border-right:0;border-bottom:1px solid #e3eaf0}.fp-card-title p{display:inline-block;margin:5px 10px 0 0}.fp-card-title h2{display:inline;margin-right:12px}.fp-levels{flex:1 0 100%;gap:4px}.fp-levels :is(button,a){min-width:0;gap:8px}.fp-levels span{font-size:var(--mis-text-small,14px)!important}.fp-total{width:100%;padding:9px!important;gap:10px}.fp-total small{flex-basis:auto}.fp-kpis{grid-template-columns:repeat(2,minmax(0,1fr))}.fp-filters label{flex:1 0 44%}.fp-filters select,.fp-filters input{width:100%;max-width:100%}.fp-card-controls{align-items:start}.fp-card-controls label{width:100%;justify-content:space-between}.fp-card-controls select{max-width:73%}.fp-backdrop{padding:8px}.fp-dialog{max-height:calc(100dvh - 16px)}.fp-dialog header,.fp-dialog-content{padding:12px}.fp-table-tools label{flex:1;min-width:0}.fp-table-tools input{min-width:0;width:100%}.fp-embedded{padding:8px}.fp-embedded .fp-students{padding:12px;gap:9px}.fp-embedded .fp-card-foot span:last-child{display:none}.fp-embedded .fp-badge{font-size:var(--mis-text-small,14px)!important}.fp-embedded .fp-card-title p{font-size:var(--mis-text-body,16px)!important}.fp-section{padding:12px}}
@media print{.fp-share,.fp-filters,.fp-table-tools,.fp-tabs,.fp-full-link{display:none!important}.fp-table-scroll{max-height:none;overflow:visible}.fp-page{padding:0}.fp-section,.fp-students{box-shadow:none}.fp-backdrop{position:static;padding:0;background:white}.fp-dialog,.fp-dialog-content,.fp-dialog .fp-table-scroll{max-height:none;overflow:visible}.fp-dialog header button{display:none}}

/* Shared navigation: pin the publishing actions to the right of the overview menu. */
.portal-navigation .fp-navigation-share{margin-left:auto;display:flex;align-items:center;justify-content:flex-end;flex-shrink:0}
.portal-navigation .fp-navigation-share:empty{display:none}
.portal-navigation .fp-navigation-share .fp-share{margin:0;justify-content:flex-end;position:relative}
.portal-navigation .fp-navigation-share .fp-share>button{white-space:nowrap;min-height:42px;padding:8px 12px}
.fp-navigation-share .fp-share [role=status]:empty{display:none}
.fp-overview-row{display:flex;justify-content:space-between;align-items:center;gap:12px;flex-wrap:wrap;margin:14px 0}
.fp-overview-row .fp-tabs,.fp-overview-row .fp-share{margin:0}
.fp-overview-row .fp-share,.fp-inline-share{margin-left:auto;justify-content:flex-end}
.fp-inline-share .fp-share{justify-content:flex-end}
/* Only the student headline/counts use the explicitly requested 22–24px sizes. */
html body .ftes-public .fp-card-title h2{font-size:22px!important;font-weight:600;color:#245b83}
html body .ftes-public .fp-levels :is(button,a) strong,html body .ftes-public .fp-total strong{font-size:24px!important;font-weight:700;line-height:1.3!important}
.ftes-public .fp-levels{gap:12px}
.ftes-public .fp-levels :is(button,a){background:#eef8f5;border:1px solid #d6eee5;border-bottom:3px solid #399c82;border-radius:12px;color:#28775f}
.ftes-public .fp-levels :is(button,a):nth-child(2){background:#eef6fd;border-color:#d7e8f8;border-bottom-color:#438bbf;color:#2672ac}
.ftes-public .fp-levels :is(button,a):nth-child(3){background:#f4f1fb;border-color:#e5ddf4;border-bottom-color:#8b72bc;color:#795da7}
.ftes-public .fp-levels :is(button,a):nth-child(4){background:#fff6ec;border-color:#f5e6d4;border-bottom-color:#d59c52;color:#a16e2a}
.ftes-public .fp-levels :is(button,a) :is(span,strong){color:inherit}
.ftes-public .fp-levels :is(button,a):not(:disabled):hover{background:#e2f0fa;border-color:#77accf;box-shadow:0 3px 10px #266e9712}
.ftes-public .fp-total{background:linear-gradient(145deg,#fff4e7,#ffe8d1)!important;min-width:132px;box-shadow:inset 0 0 0 1px #f7ddbd}
.ftes-public .fp-total strong{color:#c87529}.ftes-public .fp-badge,.ftes-public .fp-study-status{background:#e9f6ee;color:#328460}
.ftes-public .fp-study-status{display:inline-block;border-radius:20px;padding:3px 10px;white-space:nowrap}
.ftes-public .fp-dialog th,.ftes-public .fp-dialog td{font-size:var(--mis-text-table,16px)!important}
@media(max-width:900px){.portal-navigation .fp-navigation-share{flex-basis:100%}.ftes-public .fp-levels{gap:6px}.ftes-public .fp-total{min-width:104px}}
@media(max-width:640px){.portal-navigation .fp-navigation-share{grid-column:1/-1;width:100%;margin-top:4px}.portal-navigation .fp-navigation-share .fp-share{justify-content:flex-end}.ftes-public .fp-levels{gap:6px}.ftes-public .fp-levels :is(button,a){padding:12px 4px}.ftes-public .fp-card-controls select{max-width:70%}.fp-dialog .fp-table-tools{align-items:stretch}.fp-overview-row .fp-share{width:100%}}

.ftes-public .fp-roster-table{min-width:1000px}.ftes-public .fp-roster-table :is(th,td):nth-child(2){min-width:240px}.ftes-public .fp-roster-table :is(th,td):nth-child(3){min-width:300px;max-width:360px}.ftes-public .fp-roster-table :is(th,td):nth-child(n+4){min-width:120px}.ftes-public .fp-cell-two-lines{display:-webkit-box;-webkit-box-orient:vertical;-webkit-line-clamp:2;overflow:hidden}.ftes-public .fp-dialog .fp-table-tools{align-items:flex-end}

.ftes-public .fp-count-link{font-family:inherit;line-height:1.5;text-decoration:none;cursor:pointer;box-sizing:border-box;transition:background .15s,border-color .15s}
.ftes-public .fp-count-link:focus-visible{outline:3px solid #66b3dc;outline-offset:3px}
.ftes-public .fp-roster-heading{display:flex;align-items:center;justify-content:space-between;gap:16px;flex-wrap:wrap;margin-bottom:18px}
.ftes-public .fp-roster-subtitle{display:flex;align-items:center;gap:12px;flex-wrap:wrap;margin:8px 0 0}
.ftes-public .fp-overview-link{color:#216fa4;border:1px solid #bed8e9;border-radius:8px;padding:9px 14px;text-decoration:none;background:white}
.ftes-public.fp-roster-page{max-width:none}
.ftes-public.fp-roster-page .fp-table-scroll{max-height:calc(100dvh - 270px);min-height:260px}
.ftes-public.fp-roster-page :is(th,td){font-size:var(--mis-text-table,16px)!important}
@media(max-width:640px){.ftes-public.fp-roster-page .fp-table-tools label{flex-basis:100%}.ftes-public.fp-roster-page .fp-table-tools button{margin-left:auto}.ftes-public.fp-roster-page .fp-table-scroll{max-height:calc(100dvh - 360px)}}
@media print{.fp-overview-link{display:none!important}.ftes-public.fp-roster-page .fp-table-scroll{max-height:none;overflow:visible}}

.ftes-public .fp-total{flex-direction:column;align-items:center;flex-wrap:nowrap;gap:4px}.ftes-public .fp-total .fp-total-label{display:block;text-align:center;text-decoration:none}.ftes-public .fp-total .fp-total-value{display:inline-flex;align-items:baseline;justify-content:center;gap:6px;white-space:nowrap;text-decoration:none}.ftes-public .fp-total .fp-total-value small{flex:0 0 auto;text-align:left}
