.nd-welcome{width:min(1180px,calc(100% - 40px));margin:28px auto 64px;color:#17366f}.nd-welcome-top{display:grid;grid-template-columns:minmax(0,1.25fr) minmax(350px,.75fr);gap:22px;align-items:stretch}.nd-welcome-message,.nd-welcome-login,.nd-welcome-register{border:1px solid rgba(23,54,111,.13);border-radius:26px;background:#fff;box-shadow:0 18px 48px rgba(23,54,111,.07)}.nd-welcome-message{position:relative;min-height:390px;padding:48px 42% 44px 42px;overflow:hidden;background:linear-gradient(135deg,#fff 20%,#eefaf8 100%)}.nd-welcome-message h1{font-size:clamp(2rem,3.4vw,3.35rem);line-height:1.03;margin:12px 0 18px;color:#102b63;font-weight:800;letter-spacing:-.035em}.nd-welcome-message p{font-size:1.05rem;line-height:1.65;color:#536887}.nd-welcome-message img{position:absolute;width:48%;height:auto;right:-2%;bottom:-3%;object-fit:contain}.nd-welcome-login{padding:34px}.nd-welcome-login h2,.nd-welcome-register h2,.nd-auth-modal-heading h2{color:#102b63;font-weight:800}.nd-welcome-login>p,.nd-welcome-register-head>p,.nd-auth-modal-heading p{color:#60708d}.nd-welcome-login label{display:block;color:#3e5277;font-weight:700;margin:16px 0}.nd-welcome-login input:not([type=checkbox]){display:block;width:100%;margin-top:7px;padding:13px 14px;border:1px solid #ccdcda;border-radius:12px;background:#fbfefd;color:#102b63}.nd-welcome-login input:focus,.nd-auth-card input:focus,.nd-auth-card select:focus{outline:3px solid rgba(21,167,161,.14);border-color:#15a7a1}.nd-welcome-register{margin-top:24px;padding:46px;background:linear-gradient(145deg,#fffaf1 0%,#fff 48%,#effaf8 100%);text-align:center}.nd-welcome-register-head{max-width:800px;margin:0 auto 30px}.nd-welcome-register h2{font-size:clamp(1.8rem,3vw,2.65rem);margin:10px 0 14px}.nd-welcome-feature-grid{display:grid;grid-template-columns:1fr 1fr;gap:20px;text-align:left}.nd-welcome-feature-grid article{position:relative;padding:28px 28px 24px 88px;border:1px solid rgba(23,54,111,.11);border-radius:20px;background:rgba(255,255,255,.82)}.nd-welcome-feature-grid h3{font-size:1.32rem;font-weight:800;color:#102b63}.nd-welcome-feature-grid ul{list-style:none;padding:0;margin:14px 0 0}.nd-welcome-feature-grid li{position:relative;padding:7px 0 7px 25px;color:#42597c}.nd-welcome-feature-grid li:before{content:'✓';position:absolute;left:0;color:#0b9d91;font-weight:900}.nd-welcome-feature-icon{position:absolute;left:24px;top:25px;width:48px;height:48px;display:grid;place-items:center;border-radius:15px;background:#e9f7f5;font-size:1.65rem}.nd-welcome-register-button{display:inline-flex;align-items:center;gap:18px;margin-top:30px;border:0;border-radius:14px;padding:15px 24px;background:#ff6b2c;color:#fff;font-weight:800;box-shadow:0 7px 0 #d94d16}.nd-welcome-register-button:hover{transform:translateY(1px);box-shadow:0 6px 0 #d94d16}.nd-auth-modal-heading{text-align:center;padding:4px 34px 12px}.nd-auth-modal-heading h2{margin:8px 0;font-size:1.75rem}.nd-auth-modal .nd-auth-card{padding:30px}.nd-auth-modal .nd-auth-grid,.nd-auth-modal [data-student-only]{display:grid;grid-template-columns:1fr 1fr;gap:0 14px}.nd-auth-modal [data-student-only] label:last-child{grid-column:1/-1}.nd-auth-modal [hidden]{display:none!important}
@media(max-width:900px){.nd-welcome-top{grid-template-columns:1fr}.nd-welcome-message{min-height:330px}.nd-welcome-login{display:grid;grid-template-columns:1fr 1.2fr;gap:24px;align-items:start}.nd-welcome-login h2,.nd-welcome-login>p{grid-column:1}.nd-welcome-login form{grid-column:2;grid-row:1/4}.nd-welcome-feature-grid{grid-template-columns:1fr}}
@media(max-width:640px){.nd-welcome{width:100%;padding:0 14px;margin-top:14px}.nd-welcome-message{padding:28px 24px 220px;min-height:470px}.nd-welcome-message img{width:82%;right:9%;bottom:-4%}.nd-welcome-login{display:block;padding:24px}.nd-welcome-register{padding:30px 18px}.nd-welcome-feature-grid article{padding:22px 18px 20px 72px}.nd-welcome-feature-icon{left:16px;top:19px}.nd-auth-modal .nd-auth-card{padding:24px 18px}.nd-auth-modal .nd-auth-grid,.nd-auth-modal [data-student-only]{grid-template-columns:1fr}.nd-auth-modal [data-student-only] label:last-child{grid-column:auto}}
@media (max-width: 640px) {
    .nd-welcome-top > .nd-welcome-login { order: -1; }
}
html { scroll-behavior: smooth; }
#nd-welcome-register { scroll-margin-top: 96px; }
.nd-welcome-message-register { display: inline-flex; margin-top: 12px; padding: 10px 15px; border: 1px solid #0b9d91; border-radius: 11px; background: #fff; color: #087d77; font-size: .92rem; font-weight: 800; text-decoration: none; }
.nd-welcome-message-register:hover { background: #e9f7f5; color: #056d68; }
.nd-welcome-login .nd-auth-message:empty { display: none; }

.nd-dashboard{width:100%;display:grid;gap:22px}.nd-dashboard-welcome,.nd-dashboard-panel{background:#fff;border:1px solid rgba(23,54,111,.14);border-radius:24px;box-shadow:0 16px 44px rgba(16,43,99,.07)}.nd-dashboard-welcome{padding:32px 36px;background:linear-gradient(135deg,#fff 10%,#eefaf8 100%)}.nd-dashboard-welcome h1{margin:8px 0;color:#102b63;font-size:clamp(1.8rem,3.2vw,2.7rem);font-weight:800}.nd-dashboard-welcome p,.nd-dashboard-panel-head p{margin:0;color:#60708d}.nd-dashboard-panel{padding:28px}.nd-dashboard-panel-head{display:flex;justify-content:space-between;gap:18px;margin-bottom:20px}.nd-dashboard-panel h2{margin:0 0 6px;color:#102b63;font-size:1.42rem;font-weight:800}.nd-dashboard-table-wrap{overflow-x:auto}.nd-dashboard-table{width:100%;min-width:760px;border-collapse:collapse;font-size:.92rem}.nd-dashboard-table th{padding:0 12px 11px;text-align:left;color:#008e88;font-size:.73rem;letter-spacing:.045em;text-transform:uppercase;white-space:nowrap}.nd-dashboard-table td{padding:14px 12px;border-top:1px solid #e4eceb;color:#314968;vertical-align:middle}.nd-dashboard-table td:first-child,.nd-dashboard-table th:first-child{padding-left:0}.nd-dashboard-table td:last-child,.nd-dashboard-table th:last-child{padding-right:0}.nd-dashboard-empty{text-align:center;color:#70819c!important;padding:22px!important}.nd-dashboard-password{letter-spacing:.12em;color:#7e8ca3!important}.nd-dashboard-edit,.nd-dashboard-secondary,.nd-dashboard-primary{border:1px solid #bcdedb;border-radius:10px;padding:9px 12px;background:#fff;color:#087f78;font-size:.84rem;font-weight:800;white-space:nowrap}.nd-dashboard-edit{padding:7px 10px}.nd-dashboard-primary{border-color:#ff6b2c;background:#ff6b2c;color:#fff}.nd-dashboard-actions{display:flex;flex-wrap:wrap;gap:10px;margin-top:22px}.nd-dashboard-panel .nd-auth-child{margin:20px 0 0;background:#fbfefd}.nd-dashboard-footer{display:flex;justify-content:flex-end}.nd-dashboard-footer .nd-auth-secondary{background:#102b63}.nd-dashboard-footer .nd-auth-secondary:hover{background:#0b2354}@media(max-width:640px){.nd-dashboard{gap:14px}.nd-dashboard-welcome,.nd-dashboard-panel{border-radius:18px}.nd-dashboard-welcome{padding:25px 22px}.nd-dashboard-panel{padding:22px 16px}.nd-dashboard-panel-head{display:block}.nd-dashboard-panel h2{font-size:1.28rem}.nd-dashboard-actions>*{width:100%}.nd-dashboard-footer{justify-content:stretch}.nd-dashboard-footer .nd-auth-secondary{width:100%}}
.nd-dashboard-welcome{display:flex;justify-content:space-between;gap:20px}.nd-dashboard-logout{align-self:flex-start;border:1px solid #bcdedb;border-radius:10px;padding:9px 12px;background:#fff;color:#087f78;font-size:.84rem;font-weight:800;white-space:nowrap}@media(max-width:640px){.nd-dashboard-logout{padding:8px 10px}}
.nd-dashboard-panel-head .nd-dashboard-primary{text-decoration:none;align-self:flex-start}
.nd-dashboard-panel-title-link{display:inline-block;color:inherit;text-decoration:none}.nd-dashboard-panel-title-link:hover,.nd-dashboard-panel-title-link:focus,.nd-dashboard-panel-title-link:active{text-decoration:none}.nd-dashboard-panel-title-link:focus-visible{outline:3px solid rgba(0,142,136,.35);outline-offset:5px;border-radius:4px}
.nd-dashboard-limit-note{display:block;margin-top:7px;color:#8390a5;font-size:.74rem;line-height:1.4}
.nd-builder-layout{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px}.nd-builder-library,.nd-builder-editor{align-self:start}.nd-builder-library{display:grid;gap:10px}.nd-builder-new,.nd-builder-draft{display:block;border:1px solid #cfe2dd;border-radius:12px;padding:11px 12px;color:#087d77;text-decoration:none}.nd-builder-new{font-weight:800;text-align:center;background:#edf9f7}.nd-builder-draft strong,.nd-builder-draft span{display:block}.nd-builder-draft span{margin-top:3px;color:#70819c;font-size:.75rem}.nd-builder-editor h1{margin:0 0 6px;color:#102b63;font-size:1.75rem}.nd-builder-fields{display:grid;grid-template-columns:2fr 1fr 1fr;gap:15px}.nd-builder-fields label,.nd-builder-picker-fields label,.nd-builder-item label{display:grid;gap:6px;color:#42597c;font-size:.8rem;font-weight:800}.nd-builder-fields input,.nd-builder-fields select,.nd-builder-fields textarea,.nd-builder-picker-fields select,.nd-builder-picker-fields input,.nd-builder-item input{width:100%;border:1px solid #ccdcda;border-radius:10px;padding:10px 11px;background:#fbfefd;color:#102b63}.nd-builder-wide{grid-column:1/-1}.nd-builder-picker,.nd-builder-selection{margin-top:24px;border:1px solid #d7e8e5;border-radius:16px;padding:20px;background:#fbfefd}.nd-builder-picker h2,.nd-builder-selection h2{margin:0;color:#102b63;font-size:1.15rem}.nd-builder-picker p{margin:5px 0 0;color:#60708d}.nd-builder-picker-fields{display:grid;grid-template-columns:120px 1fr 1.4fr 90px auto;gap:10px;align-items:end;margin-top:16px}.nd-builder-selection-head{display:flex;justify-content:space-between}.nd-builder-selection-head>strong{color:#087d77}.nd-builder-item{display:grid;grid-template-columns:1fr 90px 34px;gap:12px;align-items:center;margin-top:10px;padding:12px;border-radius:12px;background:#fff}.nd-builder-item strong,.nd-builder-item span{display:block}.nd-builder-item span{margin-top:3px;color:#70819c;font-size:.75rem}.nd-builder-item button{border:0;background:transparent;color:#c44935;font-size:1.4rem}.nd-builder-save{display:flex;justify-content:flex-end;align-items:center;gap:15px;margin-top:22px}.nd-builder-save p{margin:0;color:#087d77}.nd-builder-empty{color:#70819c;font-size:.85rem}.nd-builder-alert{border:1px solid #f0d7aa;border-radius:12px;padding:13px;background:#fff8e8;color:#85590e}@media(max-width:900px){.nd-builder-layout{grid-template-columns:1fr}.nd-builder-fields{grid-template-columns:1fr 1fr}.nd-builder-picker-fields{grid-template-columns:1fr 1fr}.nd-builder-picker-fields .nd-dashboard-primary{grid-column:1/-1}}@media(max-width:640px){.nd-builder-fields,.nd-builder-picker-fields{grid-template-columns:1fr}.nd-builder-wide,.nd-builder-picker-fields .nd-dashboard-primary{grid-column:auto}.nd-builder-item{grid-template-columns:1fr 75px 28px}}
.nd-order-history .nd-dashboard-panel-head h1{margin:0 0 6px;color:#102b63;font-size:1.75rem;font-weight:800}.nd-order-history-table td{vertical-align:top}.nd-order-history-table td>small{display:block;margin-top:5px;color:#70819c}.nd-order-items{min-width:260px;margin:8px 0 0;padding:0;list-style:none}.nd-order-items li+li{margin-top:8px;padding-top:8px;border-top:1px solid #e4eceb}.nd-order-items span,.nd-order-items small{display:block}.nd-order-items small{margin-top:2px;color:#70819c}.nd-order-dates{min-width:150px;margin:0}.nd-order-dates div+div{margin-top:7px}.nd-order-dates dt{color:#70819c;font-size:.72rem;font-weight:700}.nd-order-dates dd{margin:1px 0 0;white-space:nowrap}.nd-order-status{display:inline-flex;align-items:center;gap:6px;border:1px solid #cfe2dd;border-radius:999px;padding:5px 9px;background:#f4f8f7;color:#52647d;font-size:.78rem;font-weight:800;white-space:nowrap}.nd-order-status:before{content:"";width:7px;height:7px;border-radius:50%;background:currentColor}.nd-order-status--awaiting_payment,.nd-order-status--new{border-color:#f0d7aa;background:#fff8e8;color:#9b6812}.nd-order-status--paid{border-color:#b9dfd9;background:#edf9f7;color:#087d77}.nd-order-status--queued{border-color:#cdd9f2;background:#f1f5ff;color:#4568a8}.nd-order-status--sent{border-color:#bde2ca;background:#edf9f1;color:#257a48}.nd-order-status--error,.nd-order-status--unknown{border-color:#efcbc5;background:#fff3f1;color:#b34838}.nd-order-restore{cursor:pointer}@media(max-width:640px){.nd-order-history .nd-dashboard-panel-head h1{font-size:1.45rem}}
.nd-welcome-feature-grid article{min-height:156px;padding:148px 28px 24px}.nd-welcome-feature-icon{left:50%;top:24px;width:104px;height:104px;transform:translateX(-50%);overflow:visible;background:transparent;font-size:0}.nd-welcome-feature-icon img{display:block;width:104px;height:104px;object-fit:contain}.nd-welcome-register-head .nd-welcome-register-button{margin-top:22px}.nd-welcome-feature-grid article>h3{margin:0 0 17px;text-align:center;font-size:1.55rem}.nd-welcome-feature-groups{display:grid;gap:14px}.nd-welcome-feature-groups section{padding:14px 15px;border:1px solid #e0ebe8;border-radius:14px;background:rgba(248,252,251,.82)}.nd-welcome-feature-groups h4{margin:0;color:#087d77;font-size:.92rem;font-weight:900;letter-spacing:.01em}.nd-welcome-feature-groups ul{margin-top:7px}.nd-welcome-feature-groups li{padding-top:4px;padding-bottom:4px;font-size:.92rem;line-height:1.45}.nd-welcome-feature-grid article:nth-child(2) .nd-welcome-feature-groups h4{color:#d85d19}.nd-welcome-feature-grid article:nth-child(2) .nd-welcome-feature-groups li:before{color:#ef7628}@media(max-width:640px){.nd-welcome-feature-grid article{min-height:126px;padding:112px 14px 17px}.nd-welcome-feature-icon{top:14px;width:84px;height:84px}.nd-welcome-feature-icon img{width:84px;height:84px}.nd-welcome-feature-groups section{padding:12px}.nd-welcome-register-button{width:100%;justify-content:center}}
.nd-dashboard-remove{border:1px solid #f1c9c2;border-radius:9px;padding:7px 10px;background:#fff7f5;color:#c44935;font-size:.8rem;font-weight:800;white-space:nowrap}.nd-dashboard-remove:hover{background:#fff0ed}.nd-dashboard-remove:disabled{opacity:.55;cursor:wait}
.nd-dashboard-test-actions-cell{min-width:230px}
.nd-dashboard-test-actions{display:grid;grid-template-columns:minmax(0,1.35fr) minmax(0,1fr);gap:8px;width:100%}
.nd-dashboard-test-actions>*{display:inline-flex;align-items:center;justify-content:center;box-sizing:border-box;min-width:0;min-height:36px;margin:0;padding:7px 9px;border-radius:10px;font-size:.8rem;line-height:1.2;text-align:center;text-decoration:none;white-space:nowrap}
.nd-dashboard-test-actions .nd-dashboard-assign{border-color:#b6ded6;background:#eaf8f5}
.nd-dashboard-test-actions a:hover,.nd-dashboard-test-actions a:focus-visible{text-decoration:none;background:#dff3ef;color:#056d68}
@media (max-width: 700px) {
    .nd-builder-tests-wrap { overflow: visible; }
    .nd-builder-statistics-head { align-items: flex-start; flex-direction: column; }
    .nd-builder-statistics-head h1 { overflow-wrap: anywhere; font-size: 1.35rem; }
    .nd-builder-tests-table,
    .nd-builder-tests-table tbody { display: block; width: 100%; min-width: 0; }
    .nd-builder-tests-table thead { display: none; }
    .nd-builder-tests-table tbody { display: grid; gap: 12px; }
    .nd-builder-tests-table tr { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 12px 16px; padding: 16px; border: 1px solid #d7e8e5; border-radius: 14px; background: #fff; }
    .nd-builder-tests-table td { display: flex; min-width: 0; flex-direction: column; gap: 3px; padding: 0; border: 0; overflow-wrap: anywhere; }
    .nd-builder-tests-table td::before { content: attr(data-label); color: #087d77; font-size: .68rem; font-weight: 800; letter-spacing: .04em; text-transform: uppercase; }
    .nd-builder-tests-table td:first-child,
    .nd-builder-tests-table .nd-dashboard-test-actions-cell,
    .nd-builder-tests-table .nd-dashboard-empty { grid-column: 1 / -1; }
    .nd-builder-tests-table td:first-child { padding-bottom: 7px; border-bottom: 1px solid #e4eceb; font-size: 1rem; }
    .nd-builder-tests-table td:first-child::before,
    .nd-builder-tests-table .nd-dashboard-empty::before { display: none; }
    .nd-builder-tests-table .nd-builder-qr-cell { align-items: flex-start; }
    .nd-builder-tests-table .nd-dashboard-test-actions-cell { min-width: 0; }
    .nd-builder-tests-table .nd-dashboard-test-actions { grid-template-columns: repeat(2, minmax(0, 1fr)); }
}
.nd-dashboard-group{margin:0 0 26px}.nd-dashboard-group:last-of-type{margin-bottom:0}.nd-dashboard-group-head{display:flex;justify-content:flex-start;align-items:center;gap:14px;margin:0 0 10px}.nd-dashboard-group h3{margin:0;color:#102b63;font-size:1.12rem;font-weight:800}.nd-dashboard-group-links{display:flex;flex-wrap:wrap;gap:12px}.nd-dashboard-group-add,.nd-dashboard-group-delete,.nd-dashboard-group-print{border:0;padding:0;background:transparent;color:#087f78;font-size:.76rem;font-weight:600;text-decoration:none}.nd-dashboard-group-add:hover,.nd-dashboard-group-delete:hover,.nd-dashboard-group-print:hover{color:#056d68}.nd-dashboard-group-delete:disabled{opacity:.55;cursor:wait}@media(max-width:640px){.nd-dashboard-group-head{display:block}.nd-dashboard-group-links{margin-top:8px}}
.nd-dashboard-panel-tools{display:flex;align-items:center;gap:10px}.nd-dashboard-panel-tools select{min-width:150px;height:39px;padding:0 36px 0 12px;appearance:none;border:1px solid #bcdedb;border-radius:10px;background:#fff url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='8' viewBox='0 0 12 8'%3E%3Cpath d='m1 1 5 5 5-5' fill='none' stroke='%23087f78' stroke-linecap='round' stroke-linejoin='round' stroke-width='2'/%3E%3C/svg%3E") no-repeat right 13px center;color:#087f78;font-size:.84rem;font-weight:800;cursor:pointer}.nd-dashboard-panel-tools select:focus{outline:3px solid rgba(21,167,161,.14);border-color:#15a7a1}@media(max-width:640px){.nd-dashboard-panel-tools{margin-top:14px}.nd-dashboard-panel-tools>*{flex:1}.nd-dashboard-panel-tools select{min-width:0}}
.nd-dashboard-panel-tools .nd-dashboard-primary{align-self:center;height:39px;padding-top:0;padding-bottom:0}
.nd-dashboard-print{border:1px solid #0b9d91;border-radius:10px;padding:9px 12px;background:#0b9d91;color:#fff;font-size:.84rem;font-weight:800;white-space:nowrap}.nd-dashboard-print:hover{background:#087f78}
.nd-dashboard-group{padding:18px;border:1px solid #d7e8e5;border-radius:16px;background:linear-gradient(135deg,#fff 0%,#fbfefd 100%);box-shadow:0 5px 16px rgba(16,43,99,.035)}.nd-dashboard-group .nd-dashboard-table{margin-bottom:0}@media(max-width:640px){.nd-dashboard-group{padding:14px 12px;border-radius:13px}}
.nd-dashboard-group{padding:24px}.nd-dashboard-group-head{margin:0 0 20px;padding:0 4px 18px;border-bottom:1px solid #d7e8e5}.nd-dashboard-group .nd-dashboard-table-wrap{padding:0 4px}@media(max-width:640px){.nd-dashboard-group{padding:18px 14px}.nd-dashboard-group-head{margin-bottom:15px;padding-bottom:14px}}
.nd-dashboard-group-meta{font-size:.76em;font-weight:600;color:#60708d}
.nd-dashboard-group-meta-value{color:#087f78;font-weight:800}
.nd-dashboard-group-title-link{color:#102b63;text-decoration:none}.nd-dashboard-group-title-link:hover{color:#087f78;text-decoration:underline}
.nd-dashboard-breadcrumb {
    display: flex;
    flex-wrap: wrap;
    align-items: center;
    gap: 7px 10px;
    width: fit-content;
    max-width: 100%;
    padding: 9px 14px;
    border: 1px solid #d7e8e5;
    border-radius: 12px;
    background: #f8fcfb;
    color: #60708d;
    font-size: .82rem;
    line-height: 1.35;
}
.nd-dashboard-breadcrumb a { color: #087f78; font-weight: 700; text-decoration: none; }
.nd-dashboard-breadcrumb a:hover { text-decoration: underline; }
.nd-dashboard-breadcrumb strong { color: #102b63; font-weight: 800; }
.nd-dashboard-breadcrumb-separator { color: #96abae; font-size: 1.1em; }
.nd-dashboard-breadcrumb + .nd-dashboard-menu { margin-top: 0; }
.nd-profile-page { max-width: 900px; }
.nd-profile-panel { padding: clamp(22px, 4vw, 38px); }
.nd-profile-panel-head { display: flex; align-items: flex-start; justify-content: space-between; gap: 18px; margin-bottom: 24px; }
.nd-profile-panel-head h1 { margin: 5px 0 7px; color: #102b63; font-size: clamp(1.7rem, 3vw, 2.2rem); }
.nd-profile-panel-head p { margin: 0; color: #60708d; }
.nd-profile-panel-head > a { flex: 0 0 auto; color: #087d77; font-weight: 800; text-decoration: none; }
.nd-profile-panel-head > a:hover { text-decoration: underline; }
.nd-profile-form { display: grid; grid-template-columns: repeat(2, minmax(0, 1fr)); gap: 18px; }
.nd-profile-form label { display: grid; gap: 7px; color: #42597c; font-weight: 800; }
.nd-profile-form input, .nd-profile-form select { width: 100%; min-height: 46px; padding: 10px 12px; border: 1px solid #ccdcda; border-radius: 11px; background: #fbfefd; color: #102b63; }
.nd-profile-form input:focus, .nd-profile-form select:focus { outline: 3px solid rgba(21, 167, 161, .14); border-color: #15a7a1; }
.nd-profile-avatars { grid-column: 1 / -1; min-width: 0; margin: 0; padding: 0; border: 0; }
.nd-profile-avatars legend { margin: 0; color: #42597c; font-size: 1rem; font-weight: 800; }
.nd-profile-avatars > p { margin: 4px 0 14px; color: #70819c; font-size: .85rem; }
.nd-profile-avatar-picker { display: flex; flex-direction: column; }
.nd-profile-avatar-toggle { position: absolute; width: 1px; height: 1px; opacity: 0; pointer-events: none; }
.nd-profile-avatar-more { width: max-content; margin: 9px auto 0; padding: 5px 14px; border: 1px solid #b9d9d5; border-radius: 999px; background: #f4fbfa; color: #087d77; font-size: .78rem; font-weight: 800; cursor: pointer; }
.nd-profile-avatar-more:hover { border-color: #087d77; background: #eaf7f5; }
.nd-profile-avatar-more .is-less { display: none; }
.nd-profile-avatar-toggle:checked ~ .nd-profile-avatar-more .is-more { display: none; }
.nd-profile-avatar-toggle:checked ~ .nd-profile-avatar-more .is-less { display: inline; }
.nd-profile-avatar-toggle:focus-visible ~ .nd-profile-avatar-more { outline: 3px solid rgba(8, 125, 119, .3); outline-offset: 2px; }
.nd-profile-avatar-grid { display: grid; grid-template-columns: repeat(10, minmax(0, 1fr)); gap: 6px; }
.nd-profile-avatar-toggle:not(:checked) + .nd-profile-avatar-grid { max-height: 81px; overflow: hidden; }
.nd-profile-avatar-grid label { position: relative; display: flex; align-items: center; justify-content: center; min-height: 52px; padding: 4px; border: 1px solid #d7e8e5; border-radius: 10px; background: #fbfefd; cursor: pointer; text-align: center; }
.nd-profile-avatar-grid input { position: absolute; width: 1px; height: 1px; min-height: 0; padding: 0; opacity: 0; }
.nd-profile-avatar-grid label:has(input:checked) { border-color: #087d77; background: #edf9f7; box-shadow: 0 0 0 2px rgba(8, 125, 119, .12); }
.nd-profile-avatar-grid label:has(input:focus-visible) { outline: 3px solid rgba(8, 125, 119, .3); outline-offset: 2px; }
.nd-profile-avatar-grid label > span { font-family: "Segoe UI Emoji", "Apple Color Emoji", "Noto Color Emoji", sans-serif; font-size: 25px; line-height: 1; }
.nd-profile-readonly { display: grid; align-content: center; gap: 5px; min-height: 70px; padding: 11px 14px; border: 1px solid #e1e9e7; border-radius: 11px; background: #f7faf9; }
.nd-profile-readonly span { color: #70819c; font-size: .8rem; font-weight: 800; }
.nd-profile-readonly strong { overflow-wrap: anywhere; color: #243653; font-weight: 700; }
.nd-profile-actions { grid-column: 1 / -1; display: flex; justify-content: flex-end; margin-top: 5px; }
.nd-profile-actions button { min-height: 46px; padding: 10px 22px; border: 0; border-radius: 11px; background: #087d77; color: #fff; font-weight: 800; }
.nd-profile-actions button:hover { background: #066b66; }
.nd-profile-message { margin: 0 0 18px; padding: 12px 15px; border-radius: 11px; font-weight: 700; }
.nd-profile-message.is-success { background: #e9f7ef; color: #257a48; }
.nd-profile-message.is-error { background: #fff2ef; color: #a53e2f; }
@media (max-width: 640px) {
    .nd-profile-panel-head { flex-direction: column; }
    .nd-profile-form { grid-template-columns: 1fr; }
    .nd-profile-avatar-grid { grid-template-columns: repeat(6, minmax(0, 1fr)); }
}
@media (min-width: 641px) and (max-width: 900px) {
    .nd-profile-avatar-grid { grid-template-columns: repeat(8, minmax(0, 1fr)); }
}
.nd-welcome[data-selected-group-id]:not([data-selected-group-id="0"]) [data-student-group-filter]{display:none}
.nd-roster-selected-group{display:block;margin-top:7px;color:#087f78;font-size:.95rem}
.nd-dashboard-student-link{color:#087f78;font-weight:700;text-decoration:none}.nd-dashboard-student-link:hover{text-decoration:underline}
.nd-dashboard-group-today{margin-left:auto;display:inline-flex;align-items:center;gap:5px;border-radius:999px;padding:6px 10px;background:#e8f7ef;color:#198754;font-size:.76rem;font-weight:800;white-space:nowrap}.nd-dashboard-group-today span{font-size:1.05rem;line-height:1}@media(max-width:640px){.nd-dashboard-group-today{display:flex;width:max-content;margin:10px 0 0 auto}}
.nd-dashboard-activity{padding-bottom:22px}.nd-dashboard-activity .nd-dashboard-panel-head{margin-bottom:10px}.nd-roster-activity-canvas-wrap{position:relative;height:210px}.nd-roster-activity-canvas-wrap canvas{display:block;width:100%;height:100%}.nd-roster-activity-tooltip{position:absolute;z-index:2;min-width:145px;padding:9px 11px;border:1px solid #d8e5e1;border-radius:10px;background:rgba(255,255,255,.98);box-shadow:0 8px 20px rgba(16,43,99,.14);color:#42597c;font-size:.76rem;line-height:1.45;pointer-events:none;transform:translate(-50%,calc(-100% - 12px))}.nd-roster-activity-tooltip>b,.nd-roster-activity-tooltip>strong{display:block}.nd-roster-activity-tooltip>b{color:#102b63}.nd-roster-activity-tooltip>.is-activity{color:#198754}.nd-roster-activity-tooltip>.is-success{color:#cf4a43}.nd-roster-activity-tooltip div{margin-top:5px;padding-top:5px;border-top:1px solid #e4efec}.nd-roster-activity-tooltip span{display:block}@media(max-width:640px){.nd-roster-activity-canvas-wrap{height:190px}.nd-roster-activity-tooltip{font-size:.7rem}}
.nd-dashboard-group-delete:before{content:"×";margin-right:4px}.nd-dashboard-group-print:before{content:"🖨";margin-right:4px;font-size:.9em}
.nd-dashboard-group-delete{color:#087f78}.nd-dashboard-group-delete:before{color:#c44935}.nd-dashboard-group-delete:hover{color:#056d68}.nd-dashboard-group-delete:hover:before{color:#9e3324}
.nd-builder-tests-table tr[id^="test-"]{scroll-margin-top:110px}.nd-builder-tests-table tr[id^="test-"]:target td{background:#eef9f7}
[data-auth-root]:not([data-student-page="1"]) .nd-dashboard-actions [data-print-roster]{display:none}
.nd-students-compact .nd-dashboard-group{padding:18px 20px;border-width:0 0 1px;border-radius:0;box-shadow:none;background:#fff}.nd-students-compact>.nd-dashboard-group:nth-of-type(even){background:#fffaf0}.nd-students-compact .nd-dashboard-group-head{gap:12px;margin-bottom:10px;padding:0 0 12px}.nd-students-compact .nd-dashboard-group h3{display:flex;flex-wrap:wrap;align-items:baseline;gap:2px}.nd-students-compact .nd-dashboard-group-meta{font-size:.72em}.nd-compact-group-actions{display:flex;align-items:center;gap:12px}.nd-compact-menu{position:relative}.nd-compact-menu>summary{display:grid;width:34px;height:34px;place-items:center;border:1px solid #cde1df;border-radius:9px;background:#fff;color:#087f78;font-size:1.25rem;font-weight:900;line-height:1;cursor:pointer;list-style:none}.nd-compact-menu>summary::-webkit-details-marker{display:none}.nd-compact-menu[open]>summary{border-color:#79beb7;background:#effaf8}.nd-compact-menu>div{position:absolute;z-index:20;top:39px;right:0;display:grid;min-width:260px;padding:6px;border:1px solid #d7e8e5;border-radius:11px;background:#fff;box-shadow:0 12px 28px rgba(16,43,99,.16)}.nd-compact-menu>div button{width:100%;padding:9px 10px;text-align:left;white-space:nowrap}.nd-compact-row-menu>div{min-width:125px}.nd-students-compact-table{min-width:700px}.nd-students-compact-table td{padding-top:11px;padding-bottom:11px}.nd-students-compact-table td:first-child strong,.nd-students-compact-table td:first-child small{display:block}.nd-students-compact-table td:first-child small{margin-top:3px;color:#71819a;font-size:.76rem}.nd-students-compact-table td:nth-child(5) span{display:inline-block;margin-right:10px;white-space:nowrap}.nd-students-compact-table td:last-child,.nd-students-compact-table th:last-child{width:42px;text-align:right}.nd-compact-student-delete{display:inline-grid;width:34px;height:34px;padding:0;place-items:center;border:1px solid #efcbc5;border-radius:9px;background:#fff7f5;font-size:1rem;line-height:1;cursor:pointer}.nd-compact-student-delete:hover{border-color:#df9f94;background:#fff0ed}.nd-students-compact .nd-group-assigned-tests{margin:8px 0 0;padding:11px 0 0;border-width:1px 0 0;border-radius:0;background:transparent}.nd-students-compact .nd-group-assigned-tests-head{padding-bottom:0;border-bottom:0}.nd-students-compact .nd-group-assigned-tests h4{font-size:1rem}.nd-students-compact .nd-group-assigned-tests h4:before{width:4px;height:20px}.nd-students-compact .nd-group-assigned-tests ul{display:none}.nd-students-compact .nd-group-assigned-tests.is-expanded ul{display:grid}.nd-students-compact .nd-assigned-tests-toggle{border:0;background:transparent;color:#087f78;font-size:.82rem;font-weight:800}.nd-students-compact .nd-dashboard-group-today{margin-left:auto}@media(max-width:700px){.nd-students-compact .nd-dashboard-group{padding:15px 0}.nd-students-compact .nd-dashboard-group-head{display:flex;flex-wrap:wrap;align-items:flex-start}.nd-students-compact .nd-dashboard-group-head h3{flex:1 1 240px;min-width:0}.nd-compact-group-actions{flex:0 0 auto;margin-left:auto}.nd-compact-menu>div{right:0;left:auto;max-width:calc(100vw - 44px)}.nd-students-compact .nd-dashboard-group-today{width:100%;margin:0}.nd-students-compact-table{min-width:650px}}
.nd-dashboard-welcome{padding:32px 36px;background:linear-gradient(135deg,#fff 10%,#eefaf8 100%)}.nd-dashboard-welcome h1{margin:8px 0;color:#102b63;font-size:clamp(1.3rem,2.3vw,1.8rem);line-height:1.2}.nd-dashboard-menu{display:flex;flex-wrap:wrap;gap:9px;margin-top:-10px;padding:0 4px}.nd-dashboard-menu a{display:flex;align-items:center;gap:7px;min-height:38px;padding:6px 10px;border:1px solid #cfe2dd;border-radius:13px;background:#f8fcfb;color:#42516a;font-size:.82rem;font-weight:800;line-height:1.2;text-decoration:none}.nd-dashboard-menu a:hover,.nd-dashboard-menu a.is-active{border-color:#087d77;background:#edf9f7;color:#087d77}.nd-dashboard-menu b{display:grid;flex:0 0 20px;width:20px;height:20px;border-radius:50%;place-items:center;background:#087d77;color:#fff;font-size:.64rem;line-height:1}@media(max-width:640px){.nd-dashboard-welcome{padding:25px 22px}.nd-dashboard-welcome h1{font-size:1.3rem}.nd-dashboard-menu{margin-top:-5px}.nd-dashboard-menu a{font-size:.76rem}}
.nd-roster-loading{position:fixed;z-index:1080;inset:0;display:grid;place-items:center;padding:24px;background:rgba(16,43,99,.27);backdrop-filter:blur(3px)}.nd-roster-loading[hidden]{display:none}.nd-roster-loading-card{width:min(100%,390px);padding:30px;border-radius:20px;background:#fff;box-shadow:0 22px 60px rgba(16,43,99,.22);text-align:center;color:#102b63}.nd-roster-loading-card strong{display:block;margin:14px 0 6px;font-size:1.14rem}.nd-roster-loading-card p{margin:0;color:#60708d}.nd-roster-spinner{display:inline-block;width:40px;height:40px;border:4px solid #d8f0ed;border-top-color:#0b9d91;border-radius:50%;animation:nd-roster-spin .8s linear infinite}@keyframes nd-roster-spin{to{transform:rotate(360deg)}}
.nd-dashboard-group--collapsed .nd-dashboard-table-wrap{position:relative;max-height:140px;overflow:hidden}.nd-dashboard-group--collapsed .nd-dashboard-table-wrap:after{content:"";position:absolute;z-index:1;right:0;bottom:0;left:0;height:42px;background:linear-gradient(transparent,#fbfefd)}.nd-dashboard-expand{display:block;margin:16px auto 0;border:1px solid #bcdedb;border-radius:10px;padding:8px 13px;background:#fff;color:#087f78;font-size:.82rem;font-weight:800}.nd-dashboard-expand:hover{background:#effaf8}@media(max-width:640px){.nd-dashboard-group--collapsed .nd-dashboard-table-wrap{max-height:140px}}
.nd-builder-question-select-hidden{display:none!important}.nd-builder-question-gallery{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px;margin-top:18px}.nd-builder-question-card{display:flex;min-height:110px;flex-direction:column;justify-content:space-between;gap:14px;border:1px solid #d7e8e5;border-radius:14px;padding:15px;background:#fff;color:#17366f;text-align:left}.nd-builder-question-card:hover{border-color:#79beb7;box-shadow:0 7px 18px rgba(16,43,99,.07)}.nd-builder-question-card.is-selected{border:2px solid #087d77;padding:14px;background:#f2fbf9}.nd-builder-question-example{font-size:1rem;line-height:1.55}.nd-builder-question-meta{display:flex!important;align-items:center;justify-content:space-between;gap:10px;color:#70819c;font-size:.72rem}.nd-builder-question-flag{border-radius:999px;padding:4px 8px;font-style:normal;font-weight:800}.nd-builder-question-flag.is-dynamic{background:#e7f8ed;color:#21854b}.nd-builder-question-flag.is-static{background:#eef2f7;color:#60708d}.nd-builder-dynamic-value{border-radius:4px;padding:0 2px;background:#daf5e4;color:#168044;font-weight:900}.nd-builder-dynamic-legend{display:flex;align-items:center;gap:8px;margin-top:14px!important;font-size:.76rem}.nd-builder-dynamic-legend>span{width:11px;height:11px;border-radius:3px;background:#36a866}.nd-builder-selection-head{align-items:center;gap:16px}.nd-builder-selection-actions{display:flex;align-items:center;gap:14px}.nd-builder-selection-actions>strong{color:#087d77;white-space:nowrap}.nd-builder-modal .nd-builder-picker{margin:0;border:0;padding:0;background:transparent}.nd-builder-modal .modal-title{color:#102b63;font-size:1.3rem}@media(max-width:700px){.nd-builder-question-gallery{grid-template-columns:1fr}}@media(max-width:640px){.nd-builder-selection-head{align-items:flex-start;flex-direction:column}.nd-builder-selection-actions{width:100%;justify-content:space-between}}
.nd-welcome:not([data-student-page="1"]) .nd-group-assigned-tests{display:none!important}
.nd-dashboard { min-width: 0; grid-template-columns: minmax(0, 1fr); }
.nd-dashboard-panel, .nd-dashboard-group { min-width: 0; }
.nd-dashboard-table-wrap { min-width: 0; max-width: 100%; overflow-x: auto; -webkit-overflow-scrolling: touch; }
#group_test_assignments_modal .nd-group-assignment-heading{margin:0 0 16px;color:#087f78;font-size:1.25rem;font-weight:800;line-height:1.3}
#group_test_assignments_modal .nd-group-assignment-divider{margin:24px 0;border:0;border-top:2px solid #dfc991;opacity:1}
.nd-students-compact-table{min-width:0;table-layout:fixed}
.nd-students-compact-table th{white-space:normal;text-transform:none;letter-spacing:normal;line-height:1.35}
.nd-students-compact-table th,.nd-students-compact-table td{overflow-wrap:anywhere;padding-left:8px;padding-right:8px}
@media(max-width:700px){.nd-students-compact-table{min-width:0}.nd-students-compact-table th,.nd-students-compact-table td{padding-left:4px;padding-right:4px}}
.nd-dashboard-group--collapsed .nd-dashboard-table-wrap { overflow-x: auto; overflow-y: hidden; }
@media (max-width: 640px) {
    .nd-dashboard-panel-head > .nd-dashboard-primary { display: flex; width: fit-content; max-width: 100%; align-items: center; justify-content: center; margin: 16px 0 0 auto; line-height: 1.25; white-space: normal; }
}
@media (max-width: 760px) {
    .nd-order-history .nd-dashboard-table-wrap { overflow: visible; }
    .nd-order-history-table, .nd-order-history-table tbody { display: block; width: 100%; min-width: 0; }
    .nd-order-history-table thead { display: none; }
    .nd-order-history-table tbody { display: grid; gap: 12px; }
    .nd-order-history-table tbody tr { display: flex; flex-wrap: wrap; align-items: center; gap: 10px 14px; padding: 16px; border: 1px solid #d7e8e5; border-radius: 14px; background: #fff; }
    .nd-order-history-table td { min-width: 0; padding: 0; border: 0; overflow-wrap: anywhere; }
    .nd-order-history-table td:first-child { flex: 1 1 100%; padding-bottom: 8px; border-bottom: 1px solid #e4eceb; }
    .nd-order-history-table td:nth-child(2), .nd-order-history-table td:nth-child(3) { flex: 1 1 100%; }
    .nd-order-history-table td:nth-child(4), .nd-order-history-table td:nth-child(5), .nd-order-history-table td:nth-child(6) { flex: 0 1 auto; }
    .nd-order-history-table td:nth-child(5)::before { content: attr(data-mobile-label) ": "; color: #60708d; font-size: .75rem; }
    .nd-order-history-table td:nth-child(6) { margin-left: auto; }
    .nd-order-history-table .nd-order-restore { display: inline-flex; min-height: 36px; align-items: center; }
    .nd-order-history-table .nd-dashboard-empty { flex: 1 1 100%; }
    .nd-order-items { display: flex; flex-wrap: wrap; gap: 6px 14px; min-width: 0; margin-top: 5px; }
    .nd-order-items li { flex: 1 1 180px; min-width: 0; }
    .nd-order-items li + li { margin: 0; padding: 0; border: 0; }
    .nd-order-dates { display: flex; flex-wrap: wrap; gap: 3px 14px; min-width: 0; }
    .nd-order-dates div { display: inline-flex; flex-wrap: wrap; align-items: baseline; gap: 4px; }
    .nd-order-dates div + div { margin: 0; }
    .nd-order-dates dt, .nd-order-dates dd { margin: 0; white-space: normal; }
}
