.zut-plan-public-panel{
  max-width:none;
  margin:0;
  color:#111827;
}
.zut-plan-public-panel .zut-plan-shell{
  max-width:none;
  margin:0;
}
.zut-plan-public-panel__hero{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin:0 0 12px;
  padding:18px 20px;
  border-radius:12px;
  background:#0f6098;
  color:#fff;
}
.zut-plan-public-panel__hero h2{
  margin:0 0 6px;
  color:#fff;
  font-size:24px;
  line-height:1.2;
}
.zut-plan-public-panel__hero p{
  margin:0;
  color:#eaf6ff;
  font-size:14px;
  line-height:1.45;
}
.zut-plan-public-panel__badge{
  flex:0 0 auto;
  padding:6px 10px;
  border-radius:999px;
  background:rgba(255,255,255,.16);
  color:#fff;
  font-weight:700;
  font-size:12px;
  line-height:1.2;
}
.zut-plan-public-panel__data-state{
  margin-bottom:12px;
}
.zut-plan-public-panel__tabs{
  margin:0 0 12px;
}
.zut-plan-public-panel .zut-plan-main-panel[hidden]{
  display:none!important;
}
.zut-plan-public-panel .zut-plan-main-panel{
  margin:0;
}
.zut-plan-public-panel .zut-plan-admin-card{
  box-sizing:border-box;
}
.zut-plan-public-panel .button,
.zut-plan-public-panel button.button{
  cursor:pointer;
}
.zut-plan-public-panel__exam-card{
  margin-bottom:12px;
}
.zut-plan-public-panel input[type="search"]{
  max-width:100%;
}
@media (max-width:782px){
  .zut-plan-public-panel__hero{
    display:block;
    padding:14px 16px;
  }
  .zut-plan-public-panel__badge{
    display:inline-block;
    margin-top:10px;
  }
}

.zut-plan-public-students__head{
  display:flex;
  align-items:flex-start;
  justify-content:space-between;
  gap:16px;
  margin-bottom:12px;
}
.zut-plan-public-students__head h2{
  margin:0 0 4px;
}
.zut-plan-public-students__head p{
  margin:0;
  color:#334155;
}
.zut-plan-public-students__stats{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  justify-content:flex-end;
}
.zut-plan-public-students__stats span,
.zut-plan-public-students__readonly-note{
  padding:5px 8px;
  border:1px solid #cbd5e1;
  border-radius:6px;
  background:#f8fafc;
  color:#111827;
  font-size:13px;
  line-height:1.3;
}
.zut-plan-public-students__import{
  margin:0 0 12px;
  padding:10px;
  border:1px solid #bfdbfe;
  border-radius:8px;
  background:#eff6ff;
}
.zut-plan-public-students__import h3,
.zut-plan-public-students__copy-grid h3{
  margin:0 0 6px;
  font-size:15px;
  line-height:1.25;
}
.zut-plan-public-students__import p{
  margin:0 0 8px;
  color:#334155;
}
.zut-plan-public-students__import textarea,
.zut-plan-public-students__copy-grid textarea{
  width:100%;
  min-height:72px;
  margin:0 0 6px;
  font-family:Consolas, Monaco, monospace;
  font-size:12px;
  line-height:1.35;
}
.zut-plan-public-students__copy-grid{
  display:grid;
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:10px;
  margin:0 0 12px;
}
.zut-plan-public-students__table-wrap{
  overflow:auto;
}
.zut-plan-public-students__table th,
.zut-plan-public-students__table td{
  vertical-align:top;
}
.zut-plan-student-status{
  display:inline-block;
  margin:0 4px 4px 0;
  padding:2px 6px;
  border-radius:999px;
  font-size:12px;
  line-height:1.2;
  font-weight:700;
}
.zut-plan-student-status.is-active{
  background:#dcfce7;
  color:#166534;
}
.zut-plan-student-status.is-inactive{
  background:#fee2e2;
  color:#991b1b;
}
.zut-plan-student-status.is-repeater{
  background:#fef3c7;
  color:#92400e;
}
.zut-plan-student-status.is-regular{
  background:#e0f2fe;
  color:#075985;
}
.zut-plan-public-students__inline-form{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
  align-items:center;
}
.zut-plan-public-students__inline-form input[type="text"],
.zut-plan-public-students__inline-form input[type="email"]{
  min-width:150px;
  max-width:210px;
}
.zut-plan-public-students__actions{
  display:flex;
  flex-wrap:wrap;
  gap:5px;
}
.zut-plan-public-students__actions form{
  margin:0;
}
@media (max-width:1000px){
  .zut-plan-public-students__copy-grid{
    grid-template-columns:1fr;
  }
  .zut-plan-public-students__head{
    display:block;
  }
  .zut-plan-public-students__stats{
    justify-content:flex-start;
    margin-top:8px;
  }
}

/* v5.0.1 Student database redesign: task-first, compact and readable */
.zut-plan-public-students--redesigned{
  --zut-student-border:#d7e3f0;
  --zut-student-soft:#f8fafc;
  --zut-student-blue:#0f6098;
  --zut-student-text:#111827;
  --zut-student-muted:#334155;
}
.zut-plan-public-students--redesigned .zut-plan-public-students__head{
  margin-bottom:8px;
}
.zut-plan-public-students--redesigned .zut-plan-public-students__head h2{
  color:var(--zut-student-text);
  font-size:24px;
  line-height:1.2;
}
.zut-plan-public-students--redesigned .zut-plan-public-students__head p{
  color:var(--zut-student-muted);
  font-size:14px;
}
.zut-plan-public-students__overview{
  display:grid;
  grid-template-columns:repeat(5,minmax(120px,1fr));
  gap:8px;
  margin:0 0 10px;
}
.zut-plan-public-students__stat{
  padding:8px 10px;
  border:1px solid var(--zut-student-border);
  border-radius:8px;
  background:var(--zut-student-soft);
}
.zut-plan-public-students__stat strong{
  display:block;
  margin:0 0 1px;
  color:#0f172a;
  font-size:22px;
  line-height:1.05;
}
.zut-plan-public-students__stat span{
  color:var(--zut-student-muted);
  font-size:12px;
  font-weight:700;
  text-transform:uppercase;
  letter-spacing:.02em;
}
.zut-plan-public-students__toolbar{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:8px;
  margin:0 0 10px;
  padding:8px;
  border:1px solid var(--zut-student-border);
  border-radius:8px;
  background:#fff;
}
.zut-plan-public-students__toolbar label{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:0;
  color:var(--zut-student-muted);
  font-size:12px;
  font-weight:700;
}
.zut-plan-public-students__toolbar input,
.zut-plan-public-students__toolbar select{
  min-height:32px;
  border-color:#b6c7da;
  color:var(--zut-student-text);
  font-size:14px;
}
.zut-plan-public-students__toolbar input[type="search"]{
  width:320px;
}
.zut-plan-public-students__clear{
  min-height:32px!important;
}
.zut-plan-public-students__tools{
  display:grid;
  grid-template-columns:1fr 1fr;
  gap:8px;
  margin:0 0 10px;
}
.zut-plan-public-students__tool-panel{
  border:1px solid var(--zut-student-border);
  border-radius:8px;
  background:#fff;
}
.zut-plan-public-students__tool-panel summary{
  display:flex;
  align-items:center;
  justify-content:space-between;
  gap:10px;
  padding:8px 10px;
  cursor:pointer;
  color:var(--zut-student-text);
  list-style:none;
}
.zut-plan-public-students__tool-panel summary::-webkit-details-marker{
  display:none;
}
.zut-plan-public-students__tool-panel summary::after{
  content:"+";
  flex:0 0 auto;
  color:var(--zut-student-blue);
  font-size:18px;
  font-weight:800;
  line-height:1;
}
.zut-plan-public-students__tool-panel[open] summary::after{
  content:"–";
}
.zut-plan-public-students__tool-panel summary strong{
  font-size:14px;
}
.zut-plan-public-students__tool-panel summary span{
  color:var(--zut-student-muted);
  font-size:12px;
}
.zut-plan-public-students__tool-panel form,
.zut-plan-public-students__copy-panel .zut-plan-public-students__copy-grid{
  padding:0 10px 10px;
}
.zut-plan-public-students__field{
  display:block;
  margin:0 0 8px;
}
.zut-plan-public-students__field span{
  display:block;
  margin:0 0 4px;
  color:var(--zut-student-muted);
  font-size:12px;
  font-weight:700;
}
.zut-plan-public-students--redesigned textarea{
  border-color:#b6c7da;
  color:var(--zut-student-text);
  font-size:13px;
  line-height:1.35;
}
.zut-plan-public-students--redesigned .zut-plan-public-students__copy-grid{
  grid-template-columns:repeat(3,minmax(0,1fr));
  gap:8px;
  margin:0;
}
.zut-plan-public-students--redesigned .zut-plan-panel-box{
  border:1px solid #e2e8f0;
  border-radius:6px;
  padding:8px;
  background:#f8fafc;
}
.zut-plan-public-students--redesigned .zut-plan-panel-box h3{
  margin:0 0 5px;
  color:var(--zut-student-text);
  font-size:14px;
}
.zut-plan-public-students--redesigned .button,
.zut-plan-public-students--redesigned button.button{
  border-color:#b6c7da!important;
  background:#fff!important;
  color:#111827!important;
  box-shadow:none!important;
  font-weight:700;
}
.zut-plan-public-students--redesigned .button:hover,
.zut-plan-public-students--redesigned button.button:hover{
  border-color:#0f6098!important;
  color:#0f6098!important;
}
.zut-plan-public-students--redesigned .button-primary,
.zut-plan-public-students--redesigned button.button-primary{
  border-color:#0f6098!important;
  background:#0f6098!important;
  color:#fff!important;
}
.zut-plan-public-students__table-wrap{
  border:1px solid var(--zut-student-border);
  border-radius:8px;
  overflow:auto;
  background:#fff;
}
.zut-plan-public-students--redesigned .zut-plan-public-students__table{
  margin:0;
  border:0;
  border-collapse:collapse;
  color:var(--zut-student-text);
  font-size:14px;
  line-height:1.35;
}
.zut-plan-public-students--redesigned .zut-plan-public-students__table thead th{
  position:sticky;
  top:0;
  z-index:1;
  padding:8px 10px;
  border-bottom:1px solid #b6c7da;
  background:#eff6ff;
  color:#0f172a;
  font-size:12px;
  font-weight:800;
  text-transform:uppercase;
  letter-spacing:.03em;
}
.zut-plan-public-students--redesigned .zut-plan-public-students__table td{
  padding:7px 10px;
  border-bottom:1px solid #e5edf5;
  vertical-align:middle;
}
.zut-plan-public-students--redesigned .zut-plan-public-students__table tbody tr:nth-child(4n+1),
.zut-plan-public-students--redesigned .zut-plan-public-students__table tbody tr:nth-child(4n+2){
  background:#fff;
}
.zut-plan-public-students--redesigned .zut-plan-public-students__table tbody tr:nth-child(4n+3),
.zut-plan-public-students--redesigned .zut-plan-public-students__table tbody tr:nth-child(4n+4){
  background:#f8fbff;
}
.zut-plan-public-students__student{
  min-width:220px;
}
.zut-plan-public-students__album code{
  padding:2px 5px;
  border-radius:4px;
  background:#eef2f7;
  color:#0f172a;
  font-size:13px;
}
.zut-plan-public-students__status{
  min-width:180px;
}
.zut-plan-public-students--redesigned .zut-plan-student-status{
  margin:0 4px 0 0;
  padding:2px 7px;
  font-size:12px;
  line-height:1.25;
}
.zut-plan-public-students__contact{
  min-width:260px;
}
.zut-plan-public-students__contact-chip,
.zut-plan-public-students__no-contact{
  display:inline-block;
  margin:0 5px 0 0;
  color:#334155;
  font-size:13px;
  line-height:1.25;
}
.zut-plan-public-students__no-contact{
  color:#7f1d1d;
  font-weight:700;
}
.zut-plan-public-students__actions{
  min-width:280px;
  gap:4px;
  align-items:center;
}
.zut-plan-public-students__actions form{
  margin:0;
}
.zut-plan-public-students__row-action,
.zut-plan-public-students__edit-button{
  min-height:28px!important;
  padding:2px 8px!important;
  font-size:12px!important;
  line-height:1.2!important;
}
.zut-plan-public-students__row-action.is-danger{
  border-color:#fecaca!important;
  color:#7f1d1d!important;
}
.zut-plan-public-students__row-action.is-positive{
  border-color:#bbf7d0!important;
  color:#166534!important;
}
.zut-plan-public-students__row-action.is-warning{
  border-color:#fde68a!important;
  color:#92400e!important;
}
.zut-plan-public-students__edit-row td{
  padding:8px 10px!important;
  background:#f1f7ff!important;
}
.zut-plan-public-students__contact-form{
  display:flex;
  flex-wrap:wrap;
  align-items:end;
  gap:8px;
}
.zut-plan-public-students__contact-form label{
  display:flex;
  flex-direction:column;
  gap:3px;
  margin:0;
  color:#334155;
  font-size:12px;
  font-weight:700;
}
.zut-plan-public-students__contact-form input{
  min-height:30px;
  min-width:220px;
  border-color:#b6c7da;
  color:#111827;
  font-size:14px;
}
.zut-plan-public-students__readonly-note{
  margin:0 0 10px;
  border-color:#bfdbfe;
  background:#eff6ff;
}
.zut-plan-public-students__notice{
  margin:0 0 10px!important;
}
@media (max-width:1100px){
  .zut-plan-public-students__overview{
    grid-template-columns:repeat(3,minmax(120px,1fr));
  }
  .zut-plan-public-students__tools{
    grid-template-columns:1fr;
  }
  .zut-plan-public-students--redesigned .zut-plan-public-students__copy-grid{
    grid-template-columns:1fr;
  }
  .zut-plan-public-students__toolbar input[type="search"]{
    width:260px;
  }
}
@media (max-width:720px){
  .zut-plan-public-students__overview{
    grid-template-columns:repeat(2,minmax(0,1fr));
  }
  .zut-plan-public-students__toolbar{
    display:block;
  }
  .zut-plan-public-students__toolbar label,
  .zut-plan-public-students__toolbar button{
    width:100%;
    margin-bottom:6px;
  }
  .zut-plan-public-students__toolbar input,
  .zut-plan-public-students__toolbar select{
    width:100%;
  }
}

.zut-plan-public-students__cancel-edit{
  border-color:#cbd5e1!important;
  color:#334155!important;
  background:#fff!important;
}
.zut-plan-public-students__cancel-edit:hover,
.zut-plan-public-students__cancel-edit:focus{
  border-color:#94a3b8!important;
  color:#0f172a!important;
}



/* v5.0.5 Student database: bulk actions and AJAX feedback */
.zut-plan-public-students__ajax-notice{
  margin:0 0 10px;
  padding:8px 10px;
  border-radius:8px;
  border:1px solid #cbd5e1;
  background:#f8fafc;
  color:#111827;
  font-weight:700;
}
.zut-plan-public-students__ajax-notice.is-success{
  border-color:#bbf7d0;
  background:#ecfdf5;
  color:#14532d;
}
.zut-plan-public-students__ajax-notice.is-error{
  border-color:#fecaca;
  background:#fef2f2;
  color:#7f1d1d;
}
.zut-plan-public-students__bulk{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:0 0 10px;
  padding:8px;
  border:1px solid var(--zut-student-border);
  border-radius:8px;
  background:#f8fafc;
}
.zut-plan-public-students__bulk form{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:6px;
  margin:0;
}
.zut-plan-public-students__select-visible{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  color:#111827;
  font-weight:700;
}
.zut-plan-public-students__selected-count{
  padding:3px 8px;
  border-radius:999px;
  background:#e0f2fe;
  color:#075985;
  font-size:12px;
  font-weight:800;
}
.zut-plan-public-students__global-danger{
  border-color:#fecaca!important;
  color:#7f1d1d!important;
}
.zut-plan-public-students__select-col{
  width:34px;
  text-align:center!important;
}
.zut-plan-public-students__select-col input{
  margin:0;
}
.zut-plan-public-students [data-zut-plan-student-ajax-form].is-busy,
.zut-plan-public-students__bulk form.is-busy{
  opacity:.65;
  pointer-events:none;
}
.zut-plan-public-students--redesigned .zut-plan-public-students__table tbody tr.is-editing{
  background:#eef6ff!important;
}
@media (max-width:720px){
  .zut-plan-public-students__bulk,
  .zut-plan-public-students__bulk form{
    display:block;
  }
  .zut-plan-public-students__bulk .button{
    width:100%;
    margin-top:6px!important;
  }
}



/* v5.0.6 Safer student bulk actions: selected-only by default, global action isolated. */
.zut-plan-public-students__bulk-main{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
}
.zut-plan-public-students__bulk-main form{
  display:flex;
  flex-wrap:wrap;
  gap:6px;
  margin:0;
}
.zut-plan-public-students__bulk button[disabled]{
  opacity:.45;
  cursor:not-allowed;
}
.zut-plan-public-students__global-panel{
  flex:1 1 100%;
  margin-top:6px;
  border-top:1px solid #d7e3f0;
  padding-top:6px;
}
.zut-plan-public-students__global-panel summary{
  cursor:pointer;
  display:inline-flex;
  align-items:center;
  gap:6px;
  color:#7f1d1d;
  font-weight:800;
}
.zut-plan-public-students__global-panel form{
  display:flex;
  flex-wrap:wrap;
  align-items:center;
  gap:8px;
  margin:6px 0 0;
}
.zut-plan-public-students__global-confirm{
  display:inline-flex;
  align-items:center;
  gap:6px;
  margin:0;
  color:#111827;
  font-weight:700;
}
.zut-plan-public-students__global-confirm input{
  margin:0;
}
