:root{
  --noor-teal:#0d766e; --noor-teal-2:#075a54; --noor-gold:#d4af37;
  --noor-bg:#f5f7f6; --noor-text:#172523; --ink-soft:#667572; --line:#dfe7e4;
  --validation-red:#a42e2e;
}

.daily-notes-list{display:grid;gap:20px}.daily-note-header{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.daily-note-header>div{min-width:0}.daily-note-header h2{margin:6px 0 8px;overflow-wrap:anywhere}.daily-note-header .status-tag{flex-shrink:0}.daily-note-author,.daily-note-footer small{font-size:13px;color:var(--ink-soft)}.daily-note-body{margin:22px 0;line-height:1.7;overflow-wrap:anywhere}.daily-note-follow-up{padding:18px;background:#f5f9f8;border-left:3px solid var(--noor-teal);border-radius:0 8px 8px 0}.daily-note-follow-up h3{font-size:14px;font-weight:700;margin:0 0 10px}.daily-note-follow-up p{margin:0;line-height:1.6}.daily-note-footer{margin-top:22px;display:flex;gap:16px;align-items:center;justify-content:space-between;flex-wrap:wrap}.daily-note-footer .management-actions{margin-top:0}.status-private{background:#edf1f0;color:#42534f}.management-form-grid .note-feedback-input{min-height:180px}.note-sharing-warning{background:#fff7e8;color:#805400;border:1px solid #e5cf9f}@media(max-width:700px){.daily-note-header{flex-direction:column;gap:8px}.daily-note-footer{align-items:stretch;flex-direction:column}.daily-note-footer .management-actions{width:100%}}

.dialog-grid .password-control{display:grid;gap:7px;font-size:13px}

.report-filters{display:flex;gap:8px;align-items:center}.report-filters .form-select{min-width:150px}.report-filters .form-control{max-width:145px}@media(max-width:800px){.report-filters{width:100%;flex-wrap:wrap}.report-filters .form-control{max-width:none;flex:1}}
*{font-family:"Noto Sans",system-ui,Segoe UI,Roboto,Helvetica,Arial,sans-serif}
body{background:var(--noor-bg);color:var(--noor-text)}
.app-shell{min-height:100vh;display:grid;grid-template-columns:250px 1fr}.app-nav{background:#102927;color:#e9f1ef;padding:28px 16px;position:sticky;top:0;height:100vh;display:flex;flex-direction:column}.brand{font-size:21px;font-weight:750;letter-spacing:-.8px;display:flex;gap:9px;align-items:center;margin:0 10px 40px;cursor:pointer}.brand>span:last-child span{color:#69c8be}.brand-dot{display:block;width:13px;height:13px;background:#e6c45e;border-radius:50%;box-shadow:0 0 0 5px rgba(230,196,94,.12)}.nav-label{font-size:10px;text-transform:uppercase;letter-spacing:1.3px;color:#86a29e;margin:24px 10px 8px}.nav-item{display:block;color:#d7e4e1;text-decoration:none;border-radius:7px;padding:9px 10px;font-size:14px;margin:2px 0}.nav-item:hover{color:#fff;background:#1c403d}.nav-account{margin-top:auto;border-top:1px solid #28504b;padding-top:14px}.nav-logout{width:100%;border:1px solid #416863;background:transparent;color:#e9f1ef;border-radius:7px;padding:9px 10px;text-align:left;font-size:14px}.app-main{min-width:0}.content{padding:48px 56px;max-width:1440px}.page-heading{display:flex;align-items:flex-end;justify-content:space-between;margin-bottom:34px}.page-heading h1{font-weight:720;letter-spacing:-1.3px;margin:4px 0 8px;font-size:32px}.page-heading p{color:var(--ink-soft);margin:0}.eyebrow{font-size:11px!important;text-transform:uppercase;letter-spacing:1.2px;color:var(--noor-teal)!important;font-weight:700}.panel{background:#fff;border:1px solid var(--line);border-radius:12px;box-shadow:0 8px 22px rgba(20,45,41,.035);overflow:hidden}.panel-title,.toolbar{padding:22px 24px;border-bottom:1px solid var(--line);display:flex;align-items:center;justify-content:space-between;gap:18px}.panel-title h2{font-size:16px;font-weight:700;margin:0}.data-table{width:100%;border-collapse:collapse}.data-table th{text-align:left;background:#fbfcfc;color:#70817d;font-size:11px;text-transform:uppercase;letter-spacing:.8px;padding:14px 24px}.data-table td{padding:17px 24px;border-top:1px solid #edf1f0;font-size:14px}.data-table small{color:var(--ink-soft)}.table-input{border:0;width:100%;outline:0;background:transparent;padding:7px}.count-pill{font-size:12px;color:#3a5954;background:#e8f4f2;padding:5px 9px;border-radius:100px;white-space:nowrap}.text-button{border:0;background:none;color:var(--noor-teal);font-weight:700;font-size:13px}.inline-form{display:flex;gap:14px;padding:22px 24px;background:#fbfcfc}.search-box{max-width:440px}.muted{color:var(--ink-soft)}.form-control,.form-select{min-height:42px}.btn{min-height:42px;padding-inline:16px}.form-control:focus-visible,.form-select:focus-visible,.btn:focus-visible,.nav-logout:focus-visible{outline:3px solid rgba(13,118,110,.28);outline-offset:2px}
@media(max-width:760px){.app-shell{display:block}.app-nav{position:relative;height:auto;display:flex;flex-wrap:wrap;gap:4px;padding:14px}.brand{margin:4px 10px}.nav-label{display:none}.nav-item{font-size:12px}.content{padding:24px 16px}.data-table{min-width:700px}.panel{overflow-x:auto}}
.login-wrap{width:100vw;min-height:100vh;display:grid;place-items:center;background:#102927;padding:32px;margin:0}.login-card{width:min(440px,100%);background:#fff;border-radius:16px;padding:46px;box-shadow:0 18px 55px rgba(0,0,0,.23)}.login-card .brand{color:#102927;margin:0 0 36px}.login-card h1{font-size:29px;font-weight:720;letter-spacing:-1px}.login-copy{color:var(--ink-soft);margin-bottom:28px}.login-card .form-control{margin-bottom:16px!important}
.noor-card .card-body,.card.shadow-sm .card-body{padding:28px}.noor-card .row{row-gap:20px}.noor-card .form-label{display:block;margin:0 0 8px;font-weight:600;color:#314440}.noor-card .form-control,.noor-card .form-select{background:#fff;border:1px solid #cbd8d4;border-radius:8px}.noor-card h5{margin:8px 0 20px!important;padding-bottom:12px}.noor-card .form-check{margin-top:24px!important;padding:14px 16px 14px 38px;border:1px solid var(--line);border-radius:8px;background:#fbfcfc}.noor-card .form-check-input{margin-top:.3em}.noor-card .btn{margin-top:8px}.card.shadow-sm{margin-top:28px}.card.shadow-sm .d-flex.flex-wrap{gap:18px!important;margin-bottom:22px!important}.card.shadow-sm .input-group{min-width:min(100%,420px)}
.password-field{position:relative}.password-field input,.dialog-grid .password-field input{width:100%;padding-right:52px!important;min-height:44px}.login-card .password-field .form-control{margin-bottom:0!important}.password-toggle{position:absolute;right:2px;top:50%;transform:translateY(-50%);display:grid;place-items:center;width:44px;height:44px;border:0;border-radius:6px;background:transparent;color:#42534f;cursor:pointer;touch-action:manipulation}.password-toggle svg{width:20px;height:20px}.password-toggle:hover{background:#edf5f3}.password-toggle:focus-visible{outline:3px solid var(--noor-teal);outline-offset:2px}.remember-option{display:flex;gap:9px;align-items:center;margin-top:18px;color:#42534f;font-size:14px;cursor:pointer}.remember-option input{width:16px;height:16px}.form-label{font-size:14px;font-weight:600;color:#314440;margin-bottom:8px}
.desk-header{display:flex;align-items:end;justify-content:space-between;margin-bottom:32px}.desk-header h1{font-size:34px;letter-spacing:-1.4px;margin:4px 0 8px}.desk-header p{margin:0;color:var(--ink-soft)}.desk-count{display:grid;place-items:center;width:74px;height:74px;border:1px solid #c7e5df;border-radius:14px;background:#ecf8f5;color:#0d766e}.desk-count strong{font-size:25px;line-height:1}.desk-count span{font-size:11px;text-transform:uppercase;letter-spacing:.8px}.attendance-controls{display:grid;grid-template-columns:auto auto minmax(260px,1fr);gap:28px;align-items:end;padding:24px;margin-bottom:30px;background:#fff;border:1px solid var(--line);border-radius:14px;box-shadow:0 8px 22px rgba(20,45,41,.035)}.control-set{display:grid;gap:8px}.control-label,.desk-search span{font-size:11px;text-transform:uppercase;letter-spacing:.85px;font-weight:700;color:#6e817d}.segmented{display:flex;padding:3px;background:#edf2f1;border-radius:9px;gap:3px}.segmented button{border:0;border-radius:6px;background:transparent;color:#50625e;padding:9px 14px;font-size:14px;font-weight:650}.segmented button.active{background:#0d766e;color:#fff;box-shadow:0 2px 5px rgba(13,118,110,.2)}.desk-search{display:grid;gap:8px}.desk-search .form-control{width:100%;border-radius:8px}.student-desk-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:14px}.student-desk-card{position:relative;min-height:96px;display:grid;grid-template-columns:42px 1fr;align-items:center;gap:13px;text-align:left;padding:16px;border:1px solid #dce6e3;border-radius:12px;background:#fff;transition:transform .15s ease,border-color .15s ease,box-shadow .15s ease}.student-desk-card:hover{transform:translateY(-2px);border-color:#77bbb1;box-shadow:0 8px 20px rgba(13,118,110,.11)}.student-initial{display:grid;place-items:center;width:42px;height:42px;border-radius:50%;background:#e7f4f1;color:#0d766e;font-weight:750;font-size:13px}.student-info{display:grid;gap:3px;min-width:0}.student-info strong{font-size:15px}.student-info small{overflow:hidden;text-overflow:ellipsis;white-space:nowrap;color:#75837f}.student-action{grid-column:2;font-size:12px;color:#0d766e;font-weight:700;margin-top:-4px}.has-alert{border-color:#e3b764}.alert-dot{position:absolute;right:14px;top:14px;width:8px;height:8px;border-radius:50%;background:#d99423}.desk-empty{display:grid;gap:6px;place-items:center;padding:72px;background:#fff;border:1px dashed #cbd9d5;border-radius:14px;color:#657571}.desk-empty strong{color:#243733;font-size:17px}@media(max-width:900px){.attendance-controls{grid-template-columns:1fr;gap:18px}.desk-search{width:100%}}@media(max-width:600px){.desk-header{align-items:start}.desk-header h1{font-size:27px}.student-desk-grid{grid-template-columns:1fr}.desk-count{width:60px;height:60px}}
.noor-navbar{
  background: linear-gradient(90deg, var(--noor-teal), var(--noor-teal-2));
  position:sticky; top:0; z-index:1030;
}
.brand-mark{width:12px;height:12px;border-radius:50%;background:var(--noor-gold)}
.basmala{
  font-family:"Amiri",serif;
  color:#fff; font-size:1.2rem; letter-spacing:0.5px;
  opacity:0; transform:translateY(-6px);
  transition:opacity .8s ease, transform .8s ease;
}
.basmala.show{opacity:1; transform:none}
.bg-pattern{
  background-image:
   radial-gradient(rgba(212,175,55,.12) 1px, transparent 1px),
   radial-gradient(rgba(15,118,110,.08) 1px, transparent 1px);
  background-position: 0 0, 25px 25px;
  background-size: 50px 50px;
}
.card.noor-card{border:0;border-radius:1rem;box-shadow:0 .5rem 1rem rgba(0,0,0,.06)}
.card.noor-card .card-header{background:transparent;border-bottom:0;font-weight:600}
.btn-outline-pink{--bs-btn-color:#d63384;--bs-btn-border-color:#d63384;--bs-btn-hover-bg:#d63384;--bs-btn-hover-border-color:#d63384;--bs-btn-active-bg:#c22574;--bs-btn-active-border-color:#c22574}
.btn-noor{background:var(--noor-teal);color:#fff;border:none}
.btn-noor:hover{background:#0b4f4a;color:#fff}
.sticky-search{position:sticky; top:70px; z-index:1020; background:#ffffffb8; backdrop-filter: blur(8px); border:1px solid rgba(0,0,0,.05); border-radius:1rem; box-shadow:0 .5rem 1rem rgba(0,0,0,.08)}
@media print{ .no-print{display:none !important} }

.family-page{max-width:1220px}.family-header{display:flex;justify-content:space-between;gap:28px;align-items:end;margin-bottom:28px}.family-header h1{margin:4px 0 6px;font-size:34px;letter-spacing:-1.3px}.family-subtitle{margin:0;color:var(--ink-soft)}.family-actions,.row-actions{display:flex;gap:10px;flex-wrap:wrap}.button{min-height:42px;border-radius:9px;padding:0 16px;border:1px solid transparent;font-size:14px;font-weight:700}.button-primary{color:#fff;background:var(--noor-teal);box-shadow:0 5px 12px rgba(13,118,110,.18)}.button-primary:hover{background:var(--noor-teal-2)}.button-secondary{color:#25433e;background:#fff;border-color:#c9d9d5}.family-panel{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.directory-toolbar{display:flex;align-items:center;gap:18px;padding:18px 22px;border-bottom:1px solid var(--line)}.directory-summary{margin-right:auto;color:var(--ink-soft);font-size:14px}.directory-summary strong{color:var(--noor-text)}.filter-group{display:flex;padding:3px;gap:2px;border-radius:8px;background:#edf2f1}.filter-button{padding:7px 11px;border:0;background:transparent;border-radius:6px;color:#536863;font-size:13px}.filter-button.is-active{background:#fff;color:var(--noor-teal);box-shadow:0 1px 3px rgba(0,0,0,.1);font-weight:700}.directory-search{display:flex;align-items:center;gap:8px;width:310px;border:1px solid #cbd8d4;border-radius:8px;padding:0 11px;color:var(--ink-soft)}.directory-search:focus-within{border-color:var(--noor-teal);box-shadow:0 0 0 3px rgba(13,118,110,.13)}.directory-search input{border:0;outline:0;height:40px;width:100%;background:transparent;font-size:14px}.family-table{width:100%;border-collapse:collapse}.family-table th{padding:13px 22px;background:#fafcfb;text-align:left;font-size:10px;letter-spacing:.9px;text-transform:uppercase;color:#71837e}.family-table td{padding:15px 22px;border-top:1px solid #edf1f0;font-size:14px}.family-table small{color:var(--ink-soft);line-height:1.6}.student-name{display:flex;align-items:center;gap:10px}.student-name strong{display:block}.student-avatar{display:grid;place-items:center;width:34px;height:34px;border-radius:50%;background:#e6f3f1;color:var(--noor-teal);font-size:11px;font-weight:800}.grade-chip,.alert-chip{display:inline-block;padding:4px 8px;border-radius:99px;font-size:11px;font-weight:700}.grade-chip{background:#edf2f1;color:#42605a}.alert-chip{background:#fff1d6;color:#9a6700}.muted-cell{color:#9aa7a4}.row-action{border:1px solid #b9d5d0;background:#fff;color:var(--noor-teal);border-radius:7px;padding:7px 10px;font-size:12px;font-weight:700}.row-action-parent{color:#5e5341;border-color:#ddcfab}.family-message{padding:12px 15px;border-radius:9px;margin-bottom:18px}.is-success{background:#e7f5ef;color:#146c43}.is-error{background:#fff0f0;color:#a42e2e}.directory-empty{padding:64px;text-align:center;color:var(--ink-soft);display:grid;gap:6px}.directory-empty strong{color:var(--noor-text)}.dialog-backdrop{position:fixed;z-index:2000;inset:0;background:rgba(10,35,32,.54);display:grid;place-items:center;padding:24px}.family-dialog{width:min(720px,100%);max-height:calc(100vh - 48px);overflow:auto;background:#fff;border-radius:16px;box-shadow:0 22px 70px rgba(0,0,0,.28)}.dialog-header{padding:24px 28px 20px;display:flex;justify-content:space-between;border-bottom:1px solid var(--line)}.dialog-header h2{margin:3px 0 0;font-size:23px}.dialog-close{border:0;background:#eff4f2;color:#35544e;border-radius:50%;width:34px;height:34px;font-size:24px;line-height:1}.dialog-grid{padding:25px 28px;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.dialog-grid label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#344a45}.dialog-grid input,.dialog-grid select,.dialog-grid textarea{min-height:40px;border:1px solid #cbd8d4;border-radius:7px;padding:8px 10px;font:inherit;font-weight:400}.dialog-grid textarea{resize:vertical}.dialog-span{grid-column:1/-1}.checkbox-line{display:flex!important;align-items:center;gap:9px}.checkbox-line input{min-height:auto}.field-hint{color:var(--ink-soft);font-weight:400}.dialog-footer{display:flex;justify-content:flex-end;gap:10px;padding:18px 28px 24px;border-top:1px solid var(--line)}.button:focus-visible,.row-action:focus-visible,.filter-button:focus-visible,.dialog-close:focus-visible{outline:3px solid rgba(13,118,110,.3);outline-offset:2px}@media(max-width:850px){.family-header,.directory-toolbar{align-items:stretch;flex-direction:column}.directory-search{width:100%}.family-table-wrap{overflow-x:auto}.family-table{min-width:920px}}@media(max-width:560px){.family-actions{width:100%}.family-actions .button{flex:1}.dialog-grid{grid-template-columns:1fr}.family-header h1{font-size:28px}}


.table th, .table td {
    vertical-align: middle;
}

.signed-in-card{margin:0 2px 13px;padding:12px;border:1px solid #35635d;border-radius:9px;background:#153532;display:grid;gap:3px}.signed-in-label{font-size:10px;text-transform:uppercase;letter-spacing:1px;color:#91b9b2}.signed-in-card strong{font-size:16px;color:#fff}.signed-in-role{font-size:12px;color:#e6c45e;font-weight:700}
.search-picker{position:relative}.search-picker-menu{position:absolute;z-index:50;top:calc(100% + 5px);left:0;right:0;max-height:260px;overflow:auto;background:#fff;border:1px solid #bfd4cf;border-radius:8px;box-shadow:0 14px 28px rgba(15,41,37,.16);padding:5px}.search-picker-menu button{display:block;width:100%;border:0;background:#fff;padding:10px 11px;text-align:left;border-radius:6px;font-size:14px}.search-picker-menu button:hover,.search-picker-menu button:focus-visible{background:#e8f4f2;color:#075a54}.search-picker-menu span{display:block;padding:10px;color:var(--ink-soft);font-size:14px}

/* Shared action and selection language across every page. */
.btn{border-radius:9px;font-weight:700;letter-spacing:0;box-shadow:none;transition:background-color .15s ease,border-color .15s ease,transform .15s ease}.btn:hover,.button:hover,.row-action:hover{transform:translateY(-1px)}.btn-primary,.btn-success,.btn-noor{background:var(--noor-teal)!important;border-color:var(--noor-teal)!important;color:#fff!important}.btn-outline-primary,.btn-outline-success{color:var(--noor-teal)!important;border-color:#b9d5d0!important;background:#fff!important}.form-select{min-height:42px;border:1px solid #cbd8d4;border-radius:8px;background-color:#fff;color:#263d38;padding:0 36px 0 12px;font-size:14px;box-shadow:none}.form-select:hover{border-color:#8bb9b1}.form-select:focus{border-color:var(--noor-teal);box-shadow:0 0 0 3px rgba(13,118,110,.13)}.data-table select.form-select{min-width:170px;background:#f8fbfa;border-color:#c7ddd8;font-weight:650}.start-attendance-button{min-width:228px;min-height:48px;font-size:16px}.card.noor-card .button{margin-top:8px}

.input-group-text {
    background-color: #008080;
    color: white;
    font-weight: 600;
}

.btn-outline-pink {
    --bs-btn-color: #d63384;
    --bs-btn-border-color: #d63384;
    --bs-btn-hover-bg: #d63384;
    --bs-btn-hover-border-color: #d63384;
}


.btn-pink {
    background-color: #d63384;
    color: white;
}


.btn-noor {
    background: linear-gradient(90deg, #008080 0%, #c1a24a 100%);
    color: white;
    border: none;
    transition: transform 0.2s ease-in-out, box-shadow 0.2s ease;
}

    .btn-noor:hover {
        transform: translateY(-2px);
        box-shadow: 0 4px 12px rgba(0,0,0,0.15);
    }

.btn-success {
    background: linear-gradient(90deg, #008080, #c1a24a);
    border: none;
}

    .btn-success:hover {
        background: linear-gradient(90deg, #006f6f, #b39035);
    }


.custom-alert-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.5);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    backdrop-filter: blur(2px);
    animation: fadeIn 0.3s ease;
}

.custom-alert {
    background: #fff;
    color: #333;
    border-radius: 16px;
    padding: 1.5rem 2rem;
    box-shadow: 0 10px 25px rgba(0,0,0,0.2);
    max-width: 420px;
    width: 90%;
    text-align: center;
    animation: slideUp 0.3s ease;
}

    .custom-alert h5 {
        color: #c22574;
        margin-bottom: 0.5rem;
        font-weight: 600;
    }

@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@keyframes slideUp {
    from {
        transform: translateY(30px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

.custom-alert button {
    border-radius: 8px;
    min-width: 140px;
    transition: all 0.25s ease-in-out;
}

    .custom-alert button:hover {
        transform: scale(1.05);
    }

/* ===== Modern Alert Popup ===== */
.custom-alert-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0, 0, 0, 0.45);
    display: flex;
    align-items: center;
    justify-content: center;
    z-index: 1050;
    backdrop-filter: blur(5px);
    animation: fadeIn 0.3s ease-in-out;
}

.custom-alert {
    background: #ffffff;
    color: #333;
    border-radius: 18px;
    padding: 1.8rem 2.2rem;
    box-shadow: 0 12px 28px rgba(0, 0, 0, 0.3);
    max-width: 440px;
    width: 90%;
    text-align: center;
    border-top: 5px solid #ffc107;
    animation: slideUp 0.35s ease-out;
    position: relative;
}

/* Animated warning icon */
.alert-icon-container {
    display: flex;
    justify-content: center;
    align-items: center;
}

.alert-icon-pulse {
    background: rgba(255, 193, 7, 0.15);
    border-radius: 50%;
    width: 75px;
    height: 75px;
    display: flex;
    align-items: center;
    justify-content: center;
    animation: pulseGlow 1.8s infinite ease-in-out;
}

.alert-icon {
    color: #ffc107;
    font-size: 2.8rem;
}

.alert-text {
    font-size: 1.05rem;
    margin-top: 0.5rem;
    color: #555;
}

/* Buttons */
.custom-alert button {
    border-radius: 8px;
    min-width: 140px;
    font-weight: 500;
    transition: all 0.25s ease-in-out;
}

    .custom-alert button:hover {
        transform: scale(1.05);
    }

/* Animations */
@@keyframes fadeIn {
    from {
        opacity: 0;
    }

    to {
        opacity: 1;
    }
}

@@keyframes slideUp {
    from {
        transform: translateY(40px);
        opacity: 0;
    }

    to {
        transform: translateY(0);
        opacity: 1;
    }
}

@@keyframes pulseGlow {
    0% {
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0.4);
    }

    70% {
        box-shadow: 0 0 0 20px rgba(255, 193, 7, 0);
    }

    100% {
        box-shadow: 0 0 0 0 rgba(255, 193, 7, 0);
    }
}

.alert-overlay {
    position: fixed;
    inset: 0;
    background: rgba(0,0,0,0.55);
    display: flex;
    justify-content: center;
    align-items: center;
    z-index: 2000;
}

.alert-box {
    background: #fff;
    padding: 25px;
    border-radius: 12px;
    max-width: 350px;
    width: 90%;
    box-shadow: 0 4px 12px rgba(0,0,0,0.25);
    animation: pop 0.25s ease-out;
}

@keyframes pop {
    from {
        transform: scale(.85);
        opacity: 0;
    }

    to {
        transform: scale(1);
        opacity: 1;
    }
}

.btn-pink {
    background-color: #d63384;
    color: white;
}

.btn-outline-pink {
    border-color: #d63384;
    color: #d63384;
}

    .btn-outline-pink:hover {
        background: #d63384;
        color: white;
    }

.student-btn.highlight {
    animation: pulse-highlight 0.6s ease-out;
    border-color: #007bff !important;
    box-shadow: 0 0 8px #007bff !important;
}

/* Curriculum: shared content, location-specific meeting day. */
.curriculum-landing,.curriculum-page{max-width:1120px}.curriculum-landing h1{font-size:38px;letter-spacing:-1.5px;margin:5px 0 8px}.curriculum-level-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:18px;margin-top:32px}.curriculum-level-grid button{min-height:220px;text-align:left;border:1px solid #cfe0dc;background:#fff;border-radius:15px;padding:25px;display:flex;flex-direction:column;gap:9px;transition:.16s ease;color:var(--noor-text)}.curriculum-level-grid button:hover{transform:translateY(-3px);border-color:#64a99f;box-shadow:0 13px 25px rgba(13,118,110,.12)}.curriculum-level-grid span{font-size:11px;text-transform:uppercase;letter-spacing:1px;color:var(--noor-teal);font-weight:800}.curriculum-level-grid strong{font-size:24px;letter-spacing:-.7px}.curriculum-level-grid small{color:var(--ink-soft);font-size:14px}.curriculum-level-grid b{margin-top:auto;color:var(--noor-teal);font-size:13px}.location-picker{display:grid;gap:7px;width:260px;margin:-8px 0 22px;font-size:12px;text-transform:uppercase;letter-spacing:.8px;color:#667572;font-weight:700}.location-picker select{border:1px solid #cbd8d4;border-radius:8px;padding:9px;color:#263d38;background:#fff;text-transform:none;letter-spacing:0;font-weight:500}.calendar-card,.curriculum-files{background:#fff;border:1px solid var(--line);border-radius:14px;overflow:hidden}.calendar-card header{height:70px;padding:0 22px;display:flex;align-items:center;justify-content:space-between;border-bottom:1px solid var(--line)}.calendar-card h2{margin:0;font-size:17px}.calendar-card header button{border:0;border-radius:7px;width:34px;height:34px;background:#edf5f3;color:var(--noor-teal);font-weight:800}.calendar-weekdays,.calendar-grid{display:grid;grid-template-columns:repeat(7,1fr)}.calendar-weekdays span{padding:12px;text-align:center;font-size:10px;text-transform:uppercase;letter-spacing:.8px;color:#78908b;background:#fbfcfc}.calendar-grid{padding:8px;gap:5px}.calendar-day,.halaqa-day{min-height:82px;text-align:left;border:1px solid transparent;border-radius:9px;padding:9px;background:#fff;color:#73827f}.halaqa-day{color:#174640;background:#eaf6f3;border-color:#bce2da;cursor:pointer}.halaqa-day:hover,.halaqa-day.selected{background:var(--noor-teal);color:#fff;border-color:var(--noor-teal)}.halaqa-day span,.calendar-day span{display:block;font-weight:750}.halaqa-day small{font-size:10px;margin-top:10px;display:block;font-weight:700}.curriculum-files{padding:25px;margin-top:20px;display:flex;justify-content:space-between;gap:32px;align-items:start}.curriculum-files h2{font-size:20px;margin:3px 0 7px}.curriculum-files p{color:var(--ink-soft);margin:0}.file-list{display:grid;gap:8px;min-width:280px}.file-list a,.file-list>div{display:flex;align-items:center;gap:9px;border:1px solid #d8e6e2;border-radius:8px;padding:10px 12px;color:var(--noor-teal);text-decoration:none;font-size:13px}.file-list small{margin-left:auto;color:var(--ink-soft)}.location-checks{border:1px solid #d9e5e2;border-radius:8px;padding:13px;display:flex;gap:16px;flex-wrap:wrap}.location-checks legend{font-size:13px;font-weight:700;float:none;width:auto;margin:0 0 8px}.location-checks label{display:flex;align-items:center;gap:7px;font-size:14px;color:#344a45}.report-panel{margin-top:28px}@media(max-width:800px){.curriculum-level-grid{grid-template-columns:1fr}.curriculum-files{display:block}.file-list{margin-top:20px;min-width:0}.calendar-day,.halaqa-day{min-height:62px}.halaqa-day small{display:none}} 

@keyframes pulse-highlight {
    0% {
        transform: scale(1);
    }

    50% {
        transform: scale(1.05);
    }

    100% {
        transform: scale(1);
    }
}

/* Management workspace: existing NoorAttend teal, white panels, compact forms. */
.app-nav{overflow-y:auto}.app-nav .brand{color:#e9f1ef;text-decoration:none;flex-shrink:0}.nav-account{padding-top:18px}.management-link{display:inline-flex;align-items:center;justify-content:center;text-decoration:none}.management-link:hover{color:inherit}.button-primary.management-link:hover{color:#fff}.management-filters{display:flex;flex-wrap:wrap;gap:18px;align-items:end;padding:20px 24px;margin-bottom:22px}.management-filters label,.management-form-grid label{display:grid;gap:7px;font-size:13px;font-weight:650;color:#344a45}.management-filters label{min-width:170px;flex:1}.management-filters .management-check,.management-form-grid .management-check{display:flex;align-items:center;gap:9px;min-height:42px}.management-check input{width:17px;height:17px}.management-editor{padding:26px;margin-bottom:24px}.management-editor h2,.management-card h2{font-size:19px;font-weight:700;margin:0 0 20px}.management-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.management-span{grid-column:1/-1}.management-form-grid textarea{min-height:90px}.management-form-grid .form-control{font-size:14px;border:1px solid #cbd8d4;border-radius:8px}.management-actions{display:flex;gap:10px;flex-wrap:wrap;margin-top:20px}.page-heading>.management-actions{margin-top:0}.management-empty{text-align:center;padding:40px 24px;color:var(--ink-soft)}.management-empty strong{color:var(--noor-text)}.management-footnote{font-size:12px;color:var(--ink-soft);line-height:1.6;margin:14px 0 22px}.management-table{min-width:650px}.management-table a{color:var(--noor-teal)}.management-note{white-space:pre-line;font-size:13px;color:var(--ink-soft);margin:6px 0 0;max-width:480px;overflow-wrap:anywhere}.status-tag{display:inline-block;background:#e8f4f2;color:#315950;border-radius:6px;padding:4px 8px;font-size:11px;font-weight:650;margin:3px 4px 3px 0}.status-warning{background:#fff1d6;color:#805400}.management-list{padding:20px 24px}.management-list>div,.management-list>article{display:grid;gap:6px;padding:14px 0;border-bottom:1px solid var(--line)}.management-list>:last-child{border-bottom:0}.management-list h3{font-size:17px;margin:0}.management-list small{color:var(--ink-soft)}.management-list p{margin:0}.preserve-lines{white-space:pre-line;overflow-wrap:anywhere}.overview-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:16px;margin-bottom:24px}.overview-metrics>a{background:#fff;border:1px solid var(--line);border-radius:12px;padding:23px;display:grid;gap:10px;text-decoration:none;color:var(--noor-text)}.overview-metrics span{font-size:12px;font-weight:700;color:var(--ink-soft)}.overview-metrics strong{font-size:32px;letter-spacing:-1px}.overview-metrics small{font-size:12px;color:var(--ink-soft)}.overview-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:24px}.overview-wide{grid-column:1/-1}.overview-day{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;padding:26px 24px}.overview-day>div{display:grid;gap:7px}.overview-day strong{font-size:26px}.overview-day span{font-size:12px;color:var(--ink-soft)}.profile-overview{display:grid;grid-template-columns:1.25fr 1fr;gap:24px}.management-card{padding:26px}.profile-details{display:grid;grid-template-columns:140px 1fr;gap:10px;font-size:14px}.profile-details dt{color:var(--ink-soft);font-weight:500}.profile-details dd{margin:0;overflow-wrap:anywhere}.profile-links{margin-top:0;flex-direction:column;align-items:start}.management-confirm{margin-top:20px;padding:20px;background:#fff7e8;border:1px solid #e5cf9f;border-radius:8px}.management-confirm p{margin-bottom:12px}.management-table td{vertical-align:top}.management-table .row-action{display:inline-block;margin:3px}.management-table p{margin-bottom:5px}.management-filters .form-control:focus-visible,.management-form-grid .form-control:focus-visible{outline:3px solid rgba(13,118,110,.3);outline-offset:2px}
@media(max-width:1100px){.overview-metrics{grid-template-columns:repeat(2,minmax(0,1fr))}.page-heading{gap:20px;flex-wrap:wrap}}@media(max-width:700px){.overview-grid,.profile-overview,.management-form-grid{grid-template-columns:1fr}.overview-wide,.management-span{grid-column:auto}.management-editor,.management-card{padding:20px}.management-filters{padding:18px}.overview-day{grid-template-columns:repeat(2,minmax(0,1fr))}.profile-details{grid-template-columns:110px 1fr}.management-actions .button{flex:1}.management-filters label{min-width:100%}.app-nav{max-height:340px}.overview-metrics>a{padding:18px}.overview-metrics strong{font-size:28px}}
@media print{.app-nav,.management-filters,.management-actions,.profile-links{display:none!important}.app-shell{display:block}.content{padding:0;max-width:none}.panel{box-shadow:none;overflow:visible}.overview-grid,.profile-overview{display:block}.management-table{min-width:0}.management-card{margin-bottom:16px}.management-table th,.management-table td{padding:8px}.status-tag{color:#222;background:none;border:1px solid #ddd}}

.username-feedback{font-size:12px;margin:6px 0 0;line-height:1.5}.password-setup-wrap{padding:32px 20px;max-width:620px;margin:40px auto}
.student-visibility-toolbar{display:flex;align-items:center;gap:20px;padding:18px 22px;margin-bottom:22px;flex-wrap:wrap}.student-visibility-toolbar label{font-size:13px;font-weight:700;display:grid;gap:6px}.student-visibility-toolbar p{flex:1;margin:0;color:var(--ink-soft);font-size:13px}.student-row-actions{min-width:135px}.student-row-actions summary{cursor:pointer;color:var(--noor-teal);font-weight:700;padding:6px 0}.student-row-actions .row-actions{padding-top:8px;max-width:240px}.student-row-actions summary:focus-visible{outline:3px solid rgba(13,118,110,.3);outline-offset:2px}.student-delete-action{color:#a42e2e;border-color:#e3baba}.student-delete-button{background:#a42e2e;color:#fff}.student-delete-button:hover{background:#852424}.student-state-tag{margin:5px 0 0 5px;background:#fff1d6;color:#805719}.student-visibility-notice{background:#fff1d6;color:#805719}.student-audit-table{min-width:1050px}.student-audit-table td{vertical-align:top}.student-audit-table time{white-space:nowrap}.audit-user-id{overflow-wrap:anywhere;font-size:11px}.student-audit-paging{display:flex;gap:18px;align-items:center;justify-content:flex-end;padding:18px 22px;border-top:1px solid var(--line)}@media(max-width:700px){.student-visibility-toolbar{align-items:stretch;flex-direction:column}.student-audit-paging{justify-content:center;gap:10px}}@media print{.student-row-actions,.student-visibility-toolbar,.student-audit-paging{display:none!important}}

.teacher-location-bar{position:sticky;top:0;z-index:90;display:flex;align-items:center;justify-content:space-between;gap:20px;padding:16px 56px;background:#fff;border-bottom:1px solid var(--line)}
.teacher-location-picker{display:flex;align-items:center;gap:14px;min-width:0}.teacher-location-picker label{font-size:13px;font-weight:700;margin:0;white-space:nowrap}.teacher-location-picker .form-select{min-width:220px;max-width:360px}.teacher-location-picker strong{font-size:15px;overflow-wrap:anywhere}.teacher-location-bar p{font-size:13px;color:var(--ink-soft);margin:0}.teacher-location-prompt{padding:28px;max-width:720px}.teacher-location-prompt h1{font-size:26px;letter-spacing:-.7px}.teacher-location-prompt>p:last-child{color:var(--ink-soft);margin-bottom:0;line-height:1.7}
@media(max-width:1000px){.teacher-location-bar{align-items:flex-start;flex-direction:column;gap:8px;padding:14px 24px}.teacher-location-picker{width:100%}.teacher-location-picker .form-select{flex:1;min-width:0;max-width:none}}
@media(max-width:760px){.teacher-location-bar{padding:12px 16px}.teacher-location-picker{gap:10px}.teacher-location-picker label{font-size:12px}.teacher-location-bar p{font-size:12px}.teacher-location-prompt{padding:22px}}
@media print{.teacher-location-bar{position:static;padding:8px 0}.teacher-location-bar p{display:none}}

.attendance-roster-table{min-width:620px}.attendance-student-row{cursor:pointer}.attendance-student-row:hover{background:#eef7f5}.attendance-student-row:focus-within{background:#eef7f5;outline:2px solid var(--noor-teal);outline-offset:-2px}.attendance-student-row.is-saving{cursor:wait}.attendance-roster-table td:last-child{width:150px}.attendance-roster-table .button{white-space:nowrap}.attendance-roster-table .status-tag{white-space:normal}

.workspace-filter-controls{display:flex;align-items:center;gap:24px;flex-wrap:wrap}.workspace-filter-label{font-size:13px;font-weight:700;white-space:nowrap}.workspace-gender-picker .form-select{min-width:130px}.workspace-gender-picker strong{white-space:nowrap}
@media(max-width:1000px){.workspace-filter-controls{width:100%;gap:12px}.workspace-filter-controls .teacher-location-picker{width:auto;flex:1;min-width:240px}.workspace-filter-controls .workspace-gender-picker{min-width:190px}}

.required-indicator,.field-label .required-indicator,.validation-errors,.validation-message{color:var(--validation-red)}
.required-indicator{font-weight:700}
.visually-hidden{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important}
.required-fields-hint{font-size:13px;color:var(--ink-soft);margin:0 0 16px}
.inline-form:has(.inline-required-field){align-items:end}
.inline-required-field{display:grid;gap:7px;flex:1;min-width:0;font-size:13px;font-weight:650}
.validation-errors{margin:12px 0 18px;padding-left:22px;line-height:1.6}
.validation-message{font-size:13px;font-weight:400;line-height:1.5}
input.invalid,select.invalid,textarea.invalid,.form-control.invalid,.form-select.invalid,input[aria-invalid="true"],select[aria-invalid="true"],textarea[aria-invalid="true"],.form-control[aria-invalid="true"],.form-select[aria-invalid="true"]{border-color:var(--validation-red)}
input.invalid:focus,select.invalid:focus,textarea.invalid:focus,.form-control.invalid:focus,.form-select.invalid:focus,input[aria-invalid="true"]:focus,select[aria-invalid="true"]:focus,textarea[aria-invalid="true"]:focus,.form-control[aria-invalid="true"]:focus,.form-select[aria-invalid="true"]:focus{border-color:var(--validation-red);box-shadow:0 0 0 3px rgb(164 46 46 / 15%)}
input:user-invalid,select:user-invalid,textarea:user-invalid,.form-control:user-invalid,.form-select:user-invalid{border-color:var(--validation-red)}
label:has(.invalid,[aria-invalid="true"],:user-invalid)>.field-label{color:var(--validation-red)}
.report-date-field{display:grid;gap:6px;margin:0;font-size:12px;font-weight:650}
.report-filters:has(.report-date-field){align-items:end}

/* Report workspace: compact controls, neutral type and quiet table surfaces. */
.reports-page{font-family:"Segoe UI",-apple-system,BlinkMacSystemFont,"Noto Sans",sans-serif;color:var(--noor-text);font-size:14px}
.reports-page *{font-family:inherit}
.report-page-heading{display:flex;align-items:center;justify-content:space-between;gap:20px;margin:0 0 26px}
.report-eyebrow{margin:0 0 7px;color:var(--noor-teal);font-size:11px;font-weight:650;letter-spacing:1.3px;text-transform:uppercase}
.report-page-heading h1{margin:0;font-size:29px;font-weight:650;letter-spacing:-.9px;line-height:1.25}
.report-page-heading>div>p:last-child{margin:9px 0 0;color:var(--ink-soft);font-size:14px;line-height:1.6}
.report-surface{background:#fff;border:1px solid var(--line);border-radius:12px;overflow:hidden;box-shadow:0 3px 16px rgb(20 45 41 / 3%)}
.report-toolbar{display:flex;align-items:center;gap:14px;padding:18px 22px;border-bottom:1px solid var(--line);background:#fff}
.report-search{display:flex;align-items:center;gap:9px;flex:1;min-width:180px;max-width:520px;height:38px;border:1px solid #d8e1de;border-radius:7px;background:#fbfcfc;padding:0 11px;color:#788984}
.report-search>svg{width:17px;height:17px;flex-shrink:0}
.report-search input{min-width:0;width:100%;height:100%;border:0;outline:0;background:transparent;color:var(--noor-text);font-size:13px;font-weight:400;padding:0;line-height:normal}
.report-search input::placeholder{color:#81908c;opacity:1}
.report-search input::-webkit-search-cancel-button{display:none}
.report-search:focus-within{border-color:var(--noor-teal);box-shadow:0 0 0 3px rgb(13 118 110 / 9%);background:#fff}
.report-search-clear{border:0;background:none;color:#677973;padding:0;width:25px;height:30px;font-size:20px;line-height:1;flex-shrink:0;cursor:pointer}
.report-sort{display:flex;align-items:center;gap:10px;margin-left:auto;flex-shrink:0}
.report-sort label{margin:0;color:var(--ink-soft);font-size:12px;font-weight:500;white-space:nowrap}
.report-sort select{height:38px;min-width:135px;max-width:180px;border:1px solid #d8e1de;border-radius:7px;background:#fff;color:#354d46;font-size:13px;font-weight:500;padding:0 28px 0 11px;cursor:pointer}
.report-results-heading{display:flex;align-items:center;justify-content:space-between;gap:14px;padding:18px 22px}
.report-results-heading h2{font-size:14px;font-weight:600;margin:0;line-height:1.5;letter-spacing:-.1px}
.report-result-count{display:inline-block;padding:4px 9px;border-radius:5px;background:#f0f5f3;font-size:12px;color:#61766e;white-space:nowrap}
.report-date-caption{display:block;margin-top:3px;color:#82908b;font-size:12px}
.report-date{display:flex;align-items:center;gap:10px}
.report-date label{margin:0;font-size:12px;color:var(--ink-soft);white-space:nowrap;font-weight:500}
.report-date-input{height:38px;min-width:142px;max-width:165px;border:1px solid #d8e1de;border-radius:7px;padding:0 10px;color:#354d46;background:#fff;font-size:13px;font-weight:400}
.report-results-actions{display:flex;align-items:center;gap:10px}
.report-button{display:inline-flex;align-items:center;justify-content:center;gap:8px;min-height:38px;border:1px solid #d3dfdb;border-radius:7px;background:#fff;color:#35584d;padding:8px 13px;font-size:13px;line-height:1.3;font-weight:600;white-space:nowrap;cursor:pointer;transition:background-color .15s,border-color .15s}
.report-button>svg{height:16px;width:16px}
.report-button:hover{background:#edf6f3;border-color:#9bbfb3}
.report-button:disabled{opacity:.5;cursor:default}
.report-sort select:focus-visible,.report-date-input:focus-visible,.report-button:focus-visible,.report-row-link:focus-visible,.report-search-clear:focus-visible,.report-table-scroll:focus-visible{outline:3px solid rgb(13 118 110 / 25%);outline-offset:2px}
.report-table-scroll{overflow:auto;max-width:100%}
.report-table{width:100%;border-collapse:collapse;text-align:left;font-size:14px}
.report-table th{padding:11px 22px;background:#f7f9f8;border-top:1px solid #e7edea;border-bottom:1px solid #e7edea;color:#778780;font-size:10.5px;letter-spacing:.75px;text-transform:uppercase;font-weight:600;white-space:nowrap}
.report-table td{padding:15px 22px;border-bottom:1px solid #edf1ef;vertical-align:middle;line-height:1.5;background:#fff}
.report-table tr:last-child td{border-bottom:0}
.report-table tbody tr:hover td{background:#f8fbfa}
.report-student-name{font-weight:600;color:#263c34;font-size:14px}
.report-guardian-name{display:block;font-size:13px;font-weight:500;color:#456056}
.report-contact{display:flex;flex-wrap:wrap;column-gap:12px;row-gap:1px;margin-top:3px;color:#83918b;font-size:11.5px;font-weight:400;overflow-wrap:anywhere}
.report-contact>span{max-width:100%}
.report-grade{display:inline-block;background:#f1f5f3;color:#64786e;font-size:12px;font-weight:600;line-height:1;padding:6px 8px;border-radius:5px;white-space:nowrap}
.report-directory-table{min-width:640px}
.report-directory-table th:first-child{width:34%}
.report-directory-table th:nth-child(2){width:10%}
.report-action-cell{text-align:right;white-space:nowrap}
.report-row-link{display:inline-flex;align-items:center;gap:9px;color:var(--noor-teal);font-size:12px;font-weight:600;text-decoration:none;min-height:34px;padding:5px 0 5px 7px;border-radius:4px}
.report-row-link>svg{width:15px;height:15px}
.report-row-link:hover{color:var(--noor-teal-2);text-decoration:underline}
.report-muted{color:var(--ink-soft);font-size:13px}
.report-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:10px;padding:54px 24px 60px}
.report-empty>svg{width:34px;height:34px;color:#a3b8ae;margin-bottom:3px}
.report-empty h3,.report-empty>strong{font-size:16px;font-weight:600;color:#3b5348;margin:0;letter-spacing:-.2px}
.report-empty>p{font-size:13px;color:#839087;margin:0;line-height:1.6;max-width:400px}
.report-empty>p.validation-message{color:var(--validation-red)}
.report-empty>.report-button{margin-top:5px}
.report-metrics{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:12px;margin-bottom:20px}
.report-metric{background:#fff;border:1px solid var(--line);border-radius:9px;padding:17px 20px}
.report-metric>span{display:flex;align-items:center;gap:7px;color:#76887e;font-size:12px;font-weight:500}
.report-metric strong{display:block;font-size:27px;line-height:1.3;font-weight:600;letter-spacing:-.7px;margin-top:7px;color:#2c483a;font-variant-numeric:tabular-nums}
.report-metric i{width:6px;height:6px;border-radius:50%;background:var(--noor-teal)}
.report-metric.is-absent i{background:#ba665c}.report-metric.is-excused i{background:#bd9b52}
.report-summary-table{min-width:650px}
.report-number{text-align:center;white-space:nowrap;font-variant-numeric:tabular-nums}
.report-attendance-value{display:inline-flex;min-width:27px;min-height:27px;align-items:center;justify-content:center;border-radius:5px;color:#a0aaa4;font-size:12px}
.report-attendance-value.is-present{background:#e8f4ef;color:#267052}.report-attendance-value.is-absent{background:#fbefec;color:#a65547}.report-attendance-value.is-excused{background:#faf4e6;color:#9b7c32}
.report-parent-toggle{display:none}
@media(max-width:1100px){.report-toolbar{flex-wrap:wrap}.report-toolbar-leading{width:100%}.report-search{max-width:none}.report-date{justify-content:flex-start}}
@media(max-width:760px){.report-page-heading{align-items:flex-start;gap:14px}.report-page-heading h1{font-size:25px}.report-page-heading>div>p:last-child{font-size:13px}.report-page-heading>.report-button{padding:8px 10px;font-size:12px}.report-toolbar{padding:15px;gap:12px}.report-search{flex-basis:100%;min-width:0}.report-sort{margin-left:0;width:100%;justify-content:space-between}.report-sort select{flex:1;max-width:180px}.report-results-heading{padding:16px;flex-wrap:wrap}.report-table th,.report-table td{padding-left:16px;padding-right:16px}.report-metrics{grid-template-columns:repeat(2,minmax(0,1fr));gap:10px}.report-metric{padding:14px 16px}.report-metric strong{font-size:24px}.report-summary-table{min-width:490px}.report-summary-table .report-parent-cell{display:none}.report-summary-table.show-parent-info{min-width:690px}.report-summary-table.show-parent-info .report-parent-cell{display:table-cell}.report-parent-toggle{display:inline-flex;font-size:11px;min-height:32px;padding:6px 9px}.report-empty{padding:42px 20px}}
@media print{.reports-page{font-family:Arial,sans-serif;color:#111}.report-page-heading{margin-bottom:18px}.report-page-heading h1{font-size:24px}.report-surface{border:0;box-shadow:none;overflow:visible}.report-table-scroll{overflow:visible}.report-table{min-width:0!important;font-size:11px}.report-table th,.report-table td{padding:9px 7px}.report-table th{color:#333}.report-parent-cell{display:table-cell!important}.report-metrics{grid-template-columns:repeat(4,1fr)}.report-metric{padding:10px 12px;break-inside:avoid}.report-metric strong{font-size:22px}.report-table tr{break-inside:avoid}.report-contact{color:#555}.report-action-cell,.report-directory-table th:last-child{display:none}.report-results-heading{padding:10px 0}}
