.tmtp-teacher-directory{
 width:100%;margin:0 0 24px;padding:0;border:1px solid #c8e0f4;border-radius:20px;
 background:linear-gradient(180deg,#e8f6ff 0%,#f4faff 50%,#ffffff 100%) !important;
 box-shadow:0 14px 36px rgba(31,91,145,.10),inset 0 1px 0 rgba(255,255,255,.95);
 overflow:hidden;font-family:Arial,Helvetica,sans-serif;color:#172b4d
}
.tmtp-directory-head{
 position:relative;display:flex;align-items:center;justify-content:space-between;gap:24px;
 padding:28px 28px 25px;
 background:
   radial-gradient(circle at 5% 0%,rgba(255,255,255,.98),transparent 34%),
   radial-gradient(circle at 100% 100%,rgba(97,184,240,.18),transparent 38%),
   linear-gradient(135deg,#d9f1ff 0%,#edf9ff 52%,#d4edfc 100%) !important;
 border-bottom:1px solid #c8e1f2;
 overflow:hidden
}
.tmtp-directory-head:after{
 content:"";position:absolute;left:0;right:0;bottom:0;height:3px;
 background:linear-gradient(90deg,#1768d6,#4fa8ef,#1768d6);
 opacity:.72
}
.tmtp-directory-kicker{
 display:inline-flex;align-items:center;gap:7px;margin-bottom:7px;color:#1267c9 !important;font-size:10px;
 font-weight:900;letter-spacing:1.35px;text-transform:uppercase
}
.tmtp-directory-kicker:before{content:"";width:23px;height:3px;border-radius:10px;background:#1768cf;box-shadow:8px 0 0 #70b9ee}
.tmtp-directory-head h2{
 margin:0;font-size:28px;line-height:1.16;color:#102a50 !important;font-weight:900;letter-spacing:-.35px
}
.tmtp-directory-head p{margin:8px 0 0;color:#5d728d;font-size:12px;line-height:1.55}
.tmtp-directory-count{
 position:relative;min-width:185px;padding:0;overflow:hidden;border:1px solid rgba(255,255,255,.7);
 border-radius:16px;background:linear-gradient(145deg,#0a2d63,#0b4382);
 text-align:left;box-shadow:0 12px 25px rgba(11,62,119,.18),inset 0 1px 0 rgba(255,255,255,.16)
}
.tmtp-directory-count:before{
 content:"";position:absolute;top:-35px;right:-25px;width:100px;height:100px;border-radius:50%;
 background:rgba(99,190,255,.18)
}
.tmtp-directory-count:after{
 content:"";position:absolute;bottom:-42px;left:-30px;width:90px;height:90px;border-radius:50%;
 border:1px solid rgba(255,255,255,.10)
}
.tmtp-directory-count strong{
 position:relative;z-index:1;display:block;padding:15px 18px 2px;color:#fff;font-size:30px;line-height:1.05;font-weight:900
}
.tmtp-directory-count span{
 position:relative;z-index:1;display:block;margin:0;padding:0 18px 14px;color:#bcdcff;font-size:10px;font-weight:800
}
.tmtp-directory-note{display:flex;align-items:center;gap:10px;margin:14px 16px 0;padding:11px 14px;border:1px solid #ccebdc;border-radius:10px;background:#f1fbf6;color:#2b5e48;font-size:12px}
.tmtp-note-icon{font-size:18px}
.tmtp-table-wrap{width:100%;overflow:auto;margin-top:14px;scrollbar-width:thin}
.tmtp-teacher-table{width:100%;min-width:1500px;border-collapse:separate;border-spacing:0;font-size:12px}
.tmtp-teacher-table th{position:sticky;top:0;z-index:3;padding:13px 12px;background:#0a2550;color:#fff;border-right:1px solid rgba(255,255,255,.12);font-size:11px;font-weight:800;text-align:left;white-space:nowrap}
.tmtp-teacher-table td{padding:13px 12px;border-bottom:1px solid #e8edf4;border-right:1px solid #eef2f7;vertical-align:middle;background:#fff;color:#31435e;line-height:1.4}
.tmtp-teacher-table tbody tr:hover td{background:#f8fbff}
.tmtp-teacher-table tbody tr.is-match td{background:linear-gradient(90deg,#f0fbf5,#fbfffd)}
.tmtp-teacher-table tbody tr.is-match:hover td{background:#ebfaf3}
.tmtp-name-cell{min-width:205px}
.tmtp-name-wrap{display:flex;align-items:center;gap:8px;flex-wrap:wrap}
.tmtp-name-wrap strong{color:#142f5e;font-size:13px}
.tmtp-reg-id{display:block;margin-top:4px;color:#8a98aa;font-size:10px;font-weight:600}
.tmtp-date{display:block;color:#233d64;font-weight:700;white-space:nowrap}
.tmtp-time{display:block;margin-top:2px;color:#8a98aa;font-size:10px;white-space:nowrap}
.tmtp-match-found{position:relative;display:inline-flex;align-items:center;gap:5px;padding:4px 7px;border:1px solid #b8e7cf;border-radius:999px;background:#effcf5;color:#12804b!important;text-decoration:none!important;font-size:9px;font-weight:900;letter-spacing:.35px;white-space:nowrap;box-shadow:0 0 0 0 rgba(18,128,75,.18);animation:tmtpMatchPulse 1.45s infinite}
.tmtp-match-dot{width:16px;height:16px;display:inline-flex;align-items:center;justify-content:center;border-radius:50%;background:#18a766;color:#fff;font-size:10px;line-height:1}
.tmtp-match-found:hover{background:#dcf8e9;transform:translateY(-1px)}
@keyframes tmtpMatchPulse{0%,100%{box-shadow:0 0 0 0 rgba(18,128,75,.15);opacity:1}50%{box-shadow:0 0 0 6px rgba(18,128,75,0);opacity:.68}}
.tmtp-directory-footer{display:flex;justify-content:space-between;gap:15px;padding:13px 16px;background:#f8fafc;color:#728096;font-size:10px;border-top:1px solid #e7edf4}
.tmtp-directory-empty{text-align:center;padding:60px 20px;color:#6c7a8f}
.tmtp-empty-icon{font-size:40px;margin-bottom:8px}
.tmtp-directory-empty h3{margin:0 0 5px;color:#263b5d}
.tmtp-directory-empty p{margin:0;font-size:13px}
.tmtp-match-highlight{scroll-margin-top:80px;animation:tmtpCardHighlight 1.7s ease}
@keyframes tmtpCardHighlight{0%{box-shadow:0 0 0 0 rgba(36,95,230,.55)}35%{box-shadow:0 0 0 7px rgba(36,95,230,.16)}100%{box-shadow:0 0 0 0 rgba(36,95,230,0)}}
@media(max-width:800px){
 .tmtp-directory-head{padding:20px 16px;align-items:flex-start;flex-direction:column}
 .tmtp-directory-head h2{font-size:22px}
 .tmtp-directory-head p{font-size:11px}
 .tmtp-directory-count{width:100%;min-width:0}
 .tmtp-directory-count strong{font-size:27px}
 .tmtp-directory-note{margin-left:10px;margin-right:10px}
 .tmtp-table-wrap{margin-top:10px}
 .tmtp-teacher-table{min-width:1350px}
 .tmtp-directory-footer{flex-direction:column;gap:6px}
}


/* =========================================================
   TMTP ADVANCED MATCH SEARCH v1.4.0 — LIGHT SKY BLUE UI
   Reference-inspired premium layout
   ========================================================= */
.tmtp-advanced-search{
  position:relative;
  margin:14px 16px 0;
  padding:0;
  border:1px solid #cfe2f5;
  border-radius:22px;
  background:linear-gradient(180deg,#eaf6ff 0%,#f3faff 55%,#edf8ff 100%);
  box-shadow:0 12px 32px rgba(40,100,155,.10),inset 0 1px 0 rgba(255,255,255,.96);
  overflow:hidden;
  color:#17345a;
}
.tmtp-advanced-search:before{
  content:"";
  position:absolute;
  width:250px;height:250px;
  right:-95px;top:-110px;
  border-radius:50%;
  background:radial-gradient(circle,rgba(91,169,235,.16),transparent 68%);
  pointer-events:none;
}
.tmtp-search-title{
  position:relative;
  z-index:1;
  padding:22px 24px 18px;
  border-bottom:1px solid #d6e8f7;
  background:
    radial-gradient(circle at 2% 0%,rgba(255,255,255,.95),transparent 38%),
    linear-gradient(135deg,#e1f3ff,#f0f9ff);
}
.tmtp-search-kicker{
  display:flex;
  align-items:center;
  gap:7px;
  margin-bottom:6px;
  color:#1c68c9!important;
  font-size:10px;
  font-weight:900;
  letter-spacing:1.3px;
  text-transform:uppercase;
}
.tmtp-search-kicker:before{
  content:"🔎";
  font-size:11px;
  filter:saturate(.9);
}
.tmtp-search-title h3{
  margin:0;
  color:#16385f!important;
  font-size:24px;
  line-height:1.15;
  font-weight:900;
  letter-spacing:-.35px;
}
.tmtp-search-title h3:after{
  content:"";
  display:block;
  width:48px;height:3px;
  margin-top:9px;
  border-radius:99px;
  background:linear-gradient(90deg,#2478db,#75c2f4);
}
.tmtp-active-filter{
  position:absolute;
  right:20px;
  top:22px;
  padding:7px 10px;
  border:1px solid #c7e1f5;
  border-radius:999px;
  background:rgba(255,255,255,.74);
  color:#286bb4;
  font-size:8px;
  font-weight:900;
}
.tmtp-search-grid{
  position:relative;
  z-index:1;
  padding:20px 24px 0;
  display:grid;
  grid-template-columns:repeat(2,minmax(0,1fr));
  gap:14px 18px;
}
.tmtp-search-field{display:block;min-width:0}
.tmtp-search-field span{
  display:block;
  margin:0 0 8px 2px;
  color:#254a70;
  font-size:14px;
  line-height:1.3;
  font-weight:900;
}
.tmtp-search-field input,
.tmtp-search-field select{
  width:100%;
  height:48px;
  padding:0 14px;
  border:1px solid #cbddeb;
  border-radius:12px;
  background:linear-gradient(180deg,#fff,#f9fcff);
  color:#334d69;
  font-size:11px;
  outline:none;
  box-shadow:0 3px 9px rgba(45,98,145,.07),inset 0 1px 0 #fff;
  transition:border-color .18s,box-shadow .18s,transform .18s;
}
.tmtp-search-field input::placeholder{color:#8b9bad}
.tmtp-search-field input:focus,
.tmtp-search-field select:focus{
  border-color:#65a9e9;
  box-shadow:0 0 0 3px rgba(76,157,232,.13),0 6px 14px rgba(45,98,145,.09);
  transform:translateY(-1px);
}
.tmtp-search-wide{grid-column:span 2}
.tmtp-match-toggle{
  display:flex;
  align-items:center;
  gap:10px;
  min-height:52px;
  padding:7px 11px;
  border:1px solid #bfe6d8;
  border-radius:12px;
  background:linear-gradient(135deg,#edfdf7,#f6fffb);
  cursor:pointer;
  transition:.2s ease;
}
.tmtp-match-toggle:hover{
  transform:translateY(-1px);
  box-shadow:0 7px 15px rgba(25,125,91,.08);
  border-color:#8dd4b8;
}
.tmtp-match-toggle input{position:absolute;opacity:0;pointer-events:none}
.tmtp-toggle-ui{
  width:39px;height:23px;
  position:relative;flex:0 0 39px;
  border-radius:999px;
  background:#aab7c7;
  transition:.2s;
  box-shadow:inset 0 1px 3px rgba(0,0,0,.18);
}
.tmtp-toggle-ui:after{
  content:"";
  position:absolute;
  width:17px;height:17px;
  left:3px;top:3px;
  border-radius:50%;
  background:#fff;
  box-shadow:0 1px 4px rgba(0,0,0,.20);
  transition:.2s;
}
.tmtp-match-toggle input:checked + .tmtp-toggle-ui{
  background:#20b67b;
  box-shadow:0 0 0 4px rgba(32,182,123,.10);
}
.tmtp-match-toggle input:checked + .tmtp-toggle-ui:after{transform:translateX(16px)}
.tmtp-match-toggle strong{display:block;color:#1c9467;font-size:10px}
.tmtp-match-toggle small{display:block;margin-top:2px;color:#71889e;font-size:8px}
.tmtp-search-actions{
  position:relative;
  z-index:1;
  display:flex;
  justify-content:flex-end;
  gap:9px;
  padding:18px 24px 22px;
  margin-top:0;
}
.tmtp-search-btn,.tmtp-reset-btn{
  height:44px;
  padding:0 20px;
  border-radius:11px;
  font-size:11px;
  font-weight:850;
  text-decoration:none!important;
  display:inline-flex;
  align-items:center;
  justify-content:center;
  cursor:pointer;
  transition:.2s ease;
}
.tmtp-search-btn{
  border:1px solid #2779e5;
  background:linear-gradient(135deg,#1f76df,#3659e8);
  color:#fff!important;
  box-shadow:0 8px 18px rgba(42,105,221,.19),inset 0 1px 0 rgba(255,255,255,.24);
}
.tmtp-reset-btn{
  border:1px solid #cfdae6;
  background:#fff;
  color:#50647b!important;
  box-shadow:0 3px 8px rgba(40,80,120,.06);
}
.tmtp-search-btn:hover{transform:translateY(-2px);filter:brightness(1.05);box-shadow:0 11px 22px rgba(42,105,221,.23)}
.tmtp-reset-btn:hover{transform:translateY(-1px);border-color:#9ebbd8;background:#f9fcff}
@media(max-width:1050px){
 .tmtp-search-grid{grid-template-columns:repeat(2,minmax(0,1fr))}
 .tmtp-search-wide{grid-column:span 2}
}
@media(max-width:600px){
 .tmtp-advanced-search{margin:10px 10px 0;border-radius:17px}
 .tmtp-search-title{padding:18px 16px 16px}
 .tmtp-search-title h3{font-size:21px}
 .tmtp-active-filter{display:none}
 .tmtp-search-grid{grid-template-columns:1fr;gap:11px;padding:16px 16px 0}
 .tmtp-search-wide{grid-column:auto}
 .tmtp-search-field input,.tmtp-search-field select{height:46px}
 .tmtp-search-actions{grid-template-columns:1fr 1fr;display:grid;padding:15px 16px 17px}
 .tmtp-search-btn,.tmtp-reset-btn{width:100%;padding:0 8px}
}


/* =========================================================
   v1.4.2 — CLEAN SEARCH / MATCH NAVIGATION UPDATE
   ========================================================= */
.tmtp-advanced-search{
  margin:0!important;
  padding:0!important;
  border-radius:0!important;
  border-left:0!important;
  border-right:0!important;
  box-shadow:none!important;
}
.tmtp-advanced-search .tmtp-search-title{
  display:none!important;
}
.tmtp-advanced-search .tmtp-search-grid{
  margin:0!important;
  padding:16px 18px 0!important;
}
.tmtp-search-active-filter-wrap{
  display:flex;
  justify-content:flex-end;
  margin:0!important;
  padding:10px 18px 0!important;
}
.tmtp-advanced-search .tmtp-search-actions{
  margin:0!important;
}
@media(max-width:600px){
  .tmtp-advanced-search .tmtp-search-grid{padding:12px 12px 0!important}
  .tmtp-search-active-filter-wrap{padding:8px 12px 0!important}
}
