.np-header-inner { position: relative; }
.np-dd { position: static; }
@media (min-width: 768px) {
  .np-dd-panel { top: 100%; margin-top: 0; }
  .np-dd-panel::before { top: -24px; height: 24px; }
  .np-dd-panel.np-dd-3 { width: 40rem; }
}
@media (min-width: 1024px) {
  .np-dd-panel.np-dd-3.is-open { grid-template-columns: repeat(3, minmax(0, 1fr)); }
}

.nt-cat { margin-top: 2.25rem; }
.nt-cat:first-child { margin-top: 0; }
.nt-cat.hidden { display: none; }
.np-tile h4 { margin-bottom: .25rem; font-size: 1rem; font-weight: 700; color: #0f172a; }
@media (min-width: 640px) { .np-tile h4 { font-size: 1.125rem; } }
.np-tile:hover h4 { color: #15803d; }
.np-cat-title { margin-top: 0; }

.nt-grid { display: grid; gap: 1rem; }
.nt-grid-2 { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); }
.nt-grid-3 { display: grid; gap: 1rem; grid-template-columns: minmax(0, 1fr); }
.nt-grid-4 { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px) {
  .nt-grid-2 { grid-template-columns: repeat(2, minmax(0, 1fr)); }
  .nt-grid-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); }
  .nt-grid-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); }
}
.nt-span-2 { grid-column: 1 / -1; }
.nt-stack > * + * { margin-top: 1rem; }
.nt-mt { margin-top: 1.25rem; }
.nt-mt-sm { margin-top: .75rem; }
.nt-center { text-align: center; }
.nt-muted { color: #64748b; font-size: .8125rem; line-height: 1.5; }
.nt-row-between { display: flex; flex-wrap: wrap; align-items: center; justify-content: space-between; gap: .75rem; }
.nt-inline { display: flex; flex-wrap: wrap; align-items: center; gap: .5rem; }
.nt-two-col { display: grid; gap: 1.25rem; grid-template-columns: minmax(0, 1fr); }

.nt-money { position: relative; }
.nt-money > span { position: absolute; left: .85rem; top: 50%; transform: translateY(-50%); color: #64748b; font-weight: 600; font-size: .875rem; pointer-events: none; }
.nt-money > .np-field { padding-left: 1.9rem; }

.nt-result { margin-top: 1.5rem; border: 1px solid #bbf7d0; border-radius: 1rem; background: linear-gradient(to bottom, #f0fdf4, #fff); padding: 1.25rem; }
.nt-result[hidden], .nt-result.hidden { display: none; }
.nt-result h3 { font-size: 1rem; font-weight: 800; color: #166534; margin-bottom: .75rem; display: flex; align-items: center; gap: .5rem; }
.nt-kpis { display: grid; gap: .75rem; grid-template-columns: repeat(2, minmax(0, 1fr)); }
@media (min-width: 640px) { .nt-kpis.nt-kpis-3 { grid-template-columns: repeat(3, minmax(0, 1fr)); } .nt-kpis.nt-kpis-4 { grid-template-columns: repeat(4, minmax(0, 1fr)); } }
.nt-kpi { border: 1px solid #e2e8f0; border-radius: .75rem; background: #fff; padding: .75rem .9rem; text-align: center; min-width: 0; }
.nt-kpi b { display: block; font-size: 1.35rem; font-weight: 800; color: #0f172a; line-height: 1.25; overflow-wrap: anywhere; }
.nt-kpi span { display: block; font-size: .75rem; font-weight: 600; color: #64748b; margin-top: .15rem; }
.nt-kpi.is-main { grid-column: 1 / -1; border-color: #86efac; background: #f0fdf4; }
.nt-kpi.is-main b { font-size: 2rem; color: #15803d; }
@media (min-width: 640px) { .nt-kpi.is-main { grid-column: auto; } .nt-kpis-main-wide .nt-kpi.is-main { grid-column: span 2; } }
.nt-pill { display: inline-flex; align-items: center; gap: .35rem; border-radius: 999px; padding: .2rem .75rem; font-size: .8125rem; font-weight: 700; background: #dcfce7; color: #166534; }
.nt-pill.is-warn { background: #fef3c7; color: #92400e; }
.nt-pill.is-bad { background: #fee2e2; color: #991b1b; }
.nt-pill.is-info { background: #e0f2fe; color: #075985; }
.nt-pill.is-gray { background: #f1f5f9; color: #475569; }
.nt-note { margin-top: 1rem; border-radius: .75rem; border: 1px solid #e2e8f0; background: #f8fafc; padding: .75rem 1rem; font-size: .8125rem; line-height: 1.55; color: #475569; }
.nt-note b { color: #334155; }
.nt-note.is-warn { border-color: #fde68a; background: #fffbeb; color: #78350f; }
.nt-bar { height: .65rem; border-radius: 999px; background: #e2e8f0; overflow: hidden; }
.nt-bar > i { display: block; height: 100%; border-radius: 999px; background: linear-gradient(to right, #22c55e, #10b981); transition: width .3s; }

.nt-table-wrap { overflow-x: auto; border: 1px solid #e2e8f0; border-radius: .75rem; background: #fff; }
.nt-table { width: 100%; border-collapse: collapse; font-size: .8125rem; }
.nt-table th { text-align: left; background: #f1f5f9; color: #475569; font-weight: 700; padding: .55rem .75rem; white-space: nowrap; }
.nt-table td { padding: .55rem .75rem; border-top: 1px solid #f1f5f9; color: #334155; vertical-align: top; }
.nt-table td.num, .nt-table th.num { text-align: right; font-variant-numeric: tabular-nums; white-space: nowrap; }
.nt-table tfoot td { font-weight: 800; background: #f8fafc; color: #0f172a; }
.nt-table tr.is-hl td { background: #f0fdf4; font-weight: 700; color: #166534; }

.nt-rows > * + * { margin-top: .6rem; }
.nt-row { display: grid; gap: .5rem; align-items: center; grid-template-columns: minmax(0, 1fr); border: 1px solid #e2e8f0; border-radius: .75rem; background: #fff; padding: .6rem; }
.nt-row .np-field { padding-top: .5rem; padding-bottom: .5rem; }
.nt-row-course { grid-template-columns: minmax(0, 1fr) minmax(0, 1fr) 2.25rem; }
.nt-row-course .nt-c-name { grid-column: 1 / -1; }
@media (min-width: 640px) {
  .nt-row-course { grid-template-columns: minmax(0, 1fr) 5.5rem 7rem 2.25rem; }
  .nt-row-course .nt-c-name { grid-column: auto; }
}
.nt-row-course .np-field { padding-left: .6rem; padding-right: .6rem; }
.nt-x { display: inline-flex; align-items: center; justify-content: center; width: 2.25rem; height: 2.25rem; border-radius: .6rem; color: #94a3b8; }
.nt-x:hover { background: #fee2e2; color: #b91c1c; }
.nt-collab { border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; }
.nt-collab > summary { cursor: pointer; display: flex; align-items: center; justify-content: space-between; gap: .75rem; padding: .85rem 1rem; font-weight: 700; color: #334155; list-style: none; }
.nt-collab > summary::-webkit-details-marker { display: none; }
.nt-collab > summary i.nt-chev { transition: transform .2s; color: #16a34a; }
.nt-collab[open] > summary i.nt-chev { transform: rotate(180deg); }
.nt-collab-body { padding: 0 1rem 1rem; }
.nt-semester { border: 1px solid #e2e8f0; border-radius: 1rem; background: #f8fafc; padding: .9rem; }
.nt-semester + .nt-semester { margin-top: 1rem; }
.nt-semester-head { display: flex; flex-wrap: wrap; gap: .5rem; align-items: center; justify-content: space-between; margin-bottom: .6rem; }
.nt-semester-head input { max-width: 14rem; font-weight: 700; }
.nt-colhead { display: none; }
@media (min-width: 640px) {
  .nt-colhead { display: grid; grid-template-columns: minmax(0, 1fr) 5.5rem 7rem 2.25rem; gap: .5rem; padding: 0 .6rem .35rem; font-size: .7rem; font-weight: 700; letter-spacing: .04em; text-transform: uppercase; color: #64748b; }
}

.nt-tabs { display: flex; flex-wrap: wrap; gap: .4rem; margin-bottom: 1rem; }
.nt-tab { border: 1px solid #cbd5e1; background: #fff; color: #475569; border-radius: 999px; padding: .4rem .95rem; font-size: .8125rem; font-weight: 700; transition: .15s; }
.nt-tab:hover { border-color: #22c55e; color: #15803d; }
.nt-tab[aria-selected="true"], .nt-tab.is-on { background: #16a34a; border-color: #16a34a; color: #fff; }

.nt-paper { background: #fff; border: 1px solid #e2e8f0; border-radius: .5rem; box-shadow: 0 8px 24px -10px rgba(15, 23, 42, .25); padding: 1.5rem 1.4rem; font-family: Carlito, Calibri, 'Liberation Sans', Arial, sans-serif; color: #111827; font-size: .86rem; line-height: 1.45; overflow-wrap: anywhere; }
@media (min-width: 640px) { .nt-paper { padding: 2.25rem 2.5rem; font-size: .92rem; } }
.nt-paper h1 { font-size: 1.7em; line-height: 1.15; font-weight: 800; margin: 0; letter-spacing: .01em; }
.nt-paper h2 { font-size: .95em; font-weight: 800; letter-spacing: .06em; text-transform: uppercase; margin: 1.05em 0 .35em; padding-bottom: .15em; border-bottom: 1.5px solid currentColor; }
.nt-paper p { margin: .25em 0; }
.nt-paper ul { margin: .2em 0 .4em 1.15em; list-style: disc; }
.nt-paper li { margin: .1em 0; }
.nt-paper .nt-sub { color: #4b5563; }
.nt-paper .nt-entry { display: flex; justify-content: space-between; gap: .75rem; font-weight: 700; margin-top: .55em; }
.nt-paper .nt-entry span:last-child { font-weight: 600; white-space: nowrap; color: #374151; }
.nt-paper .nt-contact { color: #374151; margin-top: .3em; }
.nt-paper .nt-center { text-align: center; }
.nt-paper.is-serif { font-family: Caladea, Cambria, Georgia, 'Times New Roman', serif; }
.nt-paper-empty { color: #94a3b8; font-style: italic; }
.nt-photo { width: 5.5rem; height: 6.75rem; object-fit: cover; border-radius: .25rem; border: 1px solid #e2e8f0; }
.nt-letter p { white-space: pre-wrap; margin: 0 0 .9em; }
textarea.np-field { min-height: 6rem; resize: vertical; line-height: 1.5; }
textarea.nt-big { min-height: 22rem; font-family: Carlito, Calibri, Arial, sans-serif; font-size: .95rem; }

.nt-check-list { list-style: none; padding: 0; margin: 0; }
.nt-check-item { display: flex; gap: .75rem; align-items: flex-start; border: 1px solid #e2e8f0; border-radius: .75rem; background: #fff; padding: .7rem .85rem; transition: .15s; }
.nt-check-item + .nt-check-item { margin-top: .5rem; }
.nt-check-item.is-done { background: #f0fdf4; border-color: #bbf7d0; }
.nt-check-item.is-done .nt-ci-title { text-decoration: line-through; color: #64748b; }
.nt-check-item input[type=checkbox] { margin-top: .15rem; width: 1.2rem; height: 1.2rem; accent-color: #16a34a; flex: none; cursor: pointer; }
.nt-ci-title { font-weight: 700; color: #1e293b; font-size: .9rem; }
.nt-ci-tip { font-size: .78rem; color: #64748b; line-height: 1.45; margin-top: .1rem; }
.nt-ci-body { flex: 1; min-width: 0; }
.nt-check-group { margin: 1.25rem 0 .5rem; font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #15803d; }

.nt-status { display: inline-block; border-radius: 999px; padding: .15rem .6rem; font-size: .72rem; font-weight: 700; white-space: nowrap; }
.nt-st-wishlist { background: #f1f5f9; color: #475569; }
.nt-st-applied { background: #e0f2fe; color: #075985; }
.nt-st-interview { background: #fef3c7; color: #92400e; }
.nt-st-offer { background: #dcfce7; color: #166534; }
.nt-st-rejected { background: #fee2e2; color: #991b1b; }
.nt-st-nofeedback { background: #ede9fe; color: #5b21b6; }
.nt-job-card { border: 1px solid #e2e8f0; border-radius: .9rem; background: #fff; padding: .85rem 1rem; }
.nt-job-card + .nt-job-card { margin-top: .6rem; }
.nt-job-title { font-weight: 800; color: #0f172a; }

.nt-tags { display: flex; flex-wrap: wrap; gap: .4rem; }
.nt-tag { border-radius: .5rem; background: #f1f5f9; color: #334155; padding: .25rem .6rem; font-size: .8rem; font-weight: 600; }
.nt-tag.is-green { background: #dcfce7; color: #166534; }
.nt-box { border: 1px solid #e2e8f0; border-radius: .9rem; background: #fff; padding: 1rem; }
.nt-box h4 { font-size: .75rem; font-weight: 800; text-transform: uppercase; letter-spacing: .06em; color: #15803d; margin-bottom: .5rem; }
.nt-box ul { margin: 0; padding-left: 1.1rem; list-style: disc; font-size: .875rem; color: #334155; line-height: 1.55; }

.nt-q { border: 1px solid #e2e8f0; border-radius: 1rem; background: #fff; padding: 1rem 1.1rem; }
.nt-q-meta { display: flex; justify-content: space-between; gap: .75rem; font-size: .8rem; font-weight: 700; color: #64748b; margin-bottom: .5rem; }
.nt-q-text { font-size: 1.05rem; font-weight: 700; color: #0f172a; line-height: 1.45; white-space: pre-line; }
.nt-opts { display: grid; gap: .5rem; margin-top: .9rem; }
.nt-opt { display: flex; align-items: center; gap: .7rem; width: 100%; text-align: left; border: 2px solid #e2e8f0; border-radius: .75rem; background: #fff; padding: .65rem .85rem; font-size: .92rem; font-weight: 600; color: #1e293b; transition: .12s; }
.nt-opt:hover:not(:disabled) { border-color: #4ade80; background: #f0fdf4; }
.nt-opt b { display: inline-flex; flex: none; width: 1.6rem; height: 1.6rem; align-items: center; justify-content: center; border-radius: .45rem; background: #f1f5f9; color: #475569; font-size: .78rem; }
.nt-opt.is-picked { border-color: #16a34a; background: #f0fdf4; }
.nt-opt.is-correct { border-color: #16a34a; background: #dcfce7; }
.nt-opt.is-wrong { border-color: #f87171; background: #fee2e2; }
.nt-opt:disabled { cursor: default; }
.nt-explain { margin-top: .8rem; border-radius: .75rem; background: #f8fafc; border: 1px solid #e2e8f0; padding: .65rem .85rem; font-size: .85rem; color: #475569; line-height: 1.5; }
.nt-timer { font-variant-numeric: tabular-nums; font-weight: 800; font-size: 1.15rem; color: #166534; }
.nt-timer.is-low { color: #b91c1c; }
.nt-big-timer { font-variant-numeric: tabular-nums; font-weight: 800; font-size: 3rem; line-height: 1; color: #15803d; text-align: center; }
.nt-big-timer.is-low { color: #b91c1c; }
.nt-tips li { margin-bottom: .35rem; }

.nt-type-text { border: 2px solid #e2e8f0; border-radius: 1rem; background: #fff; padding: 1rem 1.1rem; font-family: 'Liberation Mono', ui-monospace, Menlo, Consolas, monospace; font-size: 1.05rem; line-height: 1.9; color: #94a3b8; max-height: 11rem; overflow: hidden; position: relative; user-select: none; word-break: break-word; }
.nt-type-text .ok { color: #166534; }
.nt-type-text .bad { color: #b91c1c; background: #fee2e2; border-radius: 2px; }
.nt-type-text .cur { background: #bbf7d0; border-radius: 2px; color: #0f172a; }
.nt-type-input { position: absolute; opacity: 0; pointer-events: none; }
.nt-type-focus { margin-top: .5rem; text-align: center; font-size: .8rem; color: #64748b; }

@media print {
  body.nt-printing .np-header, body.nt-printing .np-footer, body.nt-printing .np-hero, body.nt-printing .np-privacy,
  body.nt-printing section:not(.np-tool-wrap), body.nt-printing .nt-no-print { display: none !important; }
  body.nt-printing .np-tool-wrap { margin: 0; padding: 0; max-width: none; }
  body.nt-printing .np-tool { border: 0; box-shadow: none; padding: 0; }
  body.nt-printing .nt-paper { border: 0; box-shadow: none; padding: 0; }
}

.np-cat-title { display: flex; align-items: center; gap: .6rem; margin-bottom: 1rem; font-size: 1.125rem; font-weight: 800; color: #1e293b; }
.np-cat-title i { display: inline-flex; align-items: center; justify-content: center; width: 2rem; height: 2rem; border-radius: .6rem; background: #dcfce7; color: #15803d; font-size: .875rem; }

.np-ad { position: relative; margin: 2rem auto; max-width: 48rem; min-height: 120px; text-align: center; }
.np-ad-label { display: block; margin-bottom: .25rem; font-size: .6875rem; letter-spacing: .06em; text-transform: uppercase; color: #94a3b8; }

.ps-page { color: #334155; line-height: 1.7; }
.ps-lede { margin-bottom: 1.5rem; font-size: 1.0625rem; color: #334155; }
.ps-lede a, .ps-block a:not(.np-tile):not(.ps-chip), .ps-page .np-faq-body a, .nt-note a { color: #15803d; font-weight: 600; text-decoration: underline; text-underline-offset: 2px; }
.ps-block { margin-top: 2.25rem; }
.ps-block h2 { margin-bottom: .75rem; font-size: 1.375rem; font-weight: 800; letter-spacing: -.01em; color: #0f172a; }
.ps-block h3 { margin: 1.25rem 0 .5rem; font-size: 1.0625rem; font-weight: 700; color: #0f172a; }
.ps-block p { margin-bottom: 1rem; }
.ps-block ul:not(.ps-links):not(.ps-check), .ps-block ol:not(.ps-steps):not(.ps-qa) { margin: 0 0 1rem 1.25rem; list-style: disc; }
.ps-block ol:not(.ps-steps):not(.ps-qa) { list-style: decimal; }
.ps-block li { margin-bottom: .4rem; }
.ps-block .nt-table-wrap { margin: .5rem 0 1rem; }
.ps-page .nt-kpis { margin: 0 0 1rem; }
.ps-chips { display: flex; flex-wrap: wrap; gap: .5rem; }
.ps-chip { display: inline-block; border: 1px solid #e2e8f0; border-radius: 999px; background: #fff; padding: .35rem .85rem; font-size: .875rem; font-weight: 600; color: #166534; text-decoration: none; transition: .15s; }
.ps-chip:hover { border-color: #22c55e; background: #f0fdf4; }
.ps-links { margin: 0; padding: 0; list-style: none; display: grid; gap: .5rem; }
.ps-links li a { display: block; border: 1px solid #e2e8f0; border-radius: .75rem; background: #fff; padding: .65rem .9rem; font-weight: 600; text-decoration: none !important; color: #166534; }
.ps-links li a:hover { border-color: #22c55e; background: #f0fdf4; }
.ps-tiles .np-tile p { font-size: .8125rem; }
.ps-steps { margin: 0 0 1rem; padding: 0; list-style: none; counter-reset: ps; }
.ps-steps > li { position: relative; margin-bottom: .6rem; padding: .7rem .9rem .7rem 3rem; border: 1px solid #e2e8f0; border-radius: .75rem; background: #fff; counter-increment: ps; }
.ps-steps > li::before { content: counter(ps); position: absolute; left: .8rem; top: .7rem; display: inline-flex; width: 1.6rem; height: 1.6rem; align-items: center; justify-content: center; border-radius: 999px; background: #16a34a; color: #fff; font-size: .8125rem; font-weight: 800; }
.ps-qa { margin: 0; padding: 0; list-style: none; }
.ps-qa > li { margin-bottom: .75rem; padding: .9rem 1rem; border: 1px solid #e2e8f0; border-radius: .9rem; background: #fff; }
.ps-qa h3 { margin: 0 0 .35rem; font-size: 1rem; }
.ps-qa p { margin: 0; font-size: .9375rem; color: #475569; }
.ps-check { margin: 0; padding: 0; list-style: none; }
.ps-check li { margin-bottom: .5rem; padding: .7rem .9rem .7rem 2.5rem; position: relative; border: 1px solid #e2e8f0; border-radius: .75rem; background: #fff; }
.ps-check li::before { content: ""; position: absolute; left: .85rem; top: 1rem; width: .95rem; height: .95rem; border: 2px solid #16a34a; border-radius: .25rem; }
.ps-check li strong { display: block; color: #0f172a; }
.ps-check li span { display: block; font-size: .875rem; color: #64748b; }
.ps-back { margin-top: 2.5rem; font-weight: 600; }
.ps-back a { color: #15803d; }
.ps-page .np-faq { margin-top: .5rem; }
