/* NU Result Checker v3 — White Modern Theme */
@import url('https://fonts.googleapis.com/css2?family=Plus+Jakarta+Sans:wght@400;500;600;700;800&family=JetBrains+Mono:wght@400;500&display=swap');

/* ── Variables ───────────────────────────────────────────────────────────── */
.nurc-app {
    --bg:      #f0f4ff;
    --sur:     #ffffff;
    --sur2:    #f7f9ff;
    --bdr:     rgba(99,102,241,0.12);
    --bdr2:    rgba(0,0,0,0.07);
    --acc:     #4f46e5;
    --acc2:    #6366f1;
    --acc-lt:  #eef2ff;
    --blue:    #2563eb;
    --green:   #059669;
    --green-lt:#ecfdf5;
    --red:     #dc2626;
    --red-lt:  #fef2f2;
    --txt:     #111827;
    --txt2:    #374151;
    --muted:   #6b7280;
    --r:       20px;
    --r2:      12px;
    --font:    'Plus Jakarta Sans', sans-serif;
    --mono:    'JetBrains Mono', monospace;
    --shadow:  0 1px 3px rgba(0,0,0,0.06), 0 4px 16px rgba(79,70,229,0.07);
    --shadow-lg: 0 8px 40px rgba(79,70,229,0.13), 0 2px 8px rgba(0,0,0,0.05);

    font-family: var(--font);
    color:       var(--txt);
    max-width:   540px;
    margin:      2rem auto;
}

/* ── Card ────────────────────────────────────────────────────────────────── */
.nurc-card {
    background:    var(--sur);
    border:        1px solid var(--bdr);
    border-radius: var(--r);
    overflow:      hidden;
    box-shadow:    var(--shadow-lg);
}

/* ── Header ──────────────────────────────────────────────────────────────── */
.nurc-header {
    display:       flex;
    align-items:   center;
    gap:           1rem;
    padding:       1.6rem 2rem;
    background:    linear-gradient(135deg, #4f46e5 0%, #6366f1 50%, #818cf8 100%);
    border-bottom: none;
    position:      relative;
    overflow:      hidden;
}
.nurc-header::before {
    content:''; position:absolute; inset:0;
    background: url("data:image/svg+xml,%3Csvg width='60' height='60' viewBox='0 0 60 60' xmlns='http://www.w3.org/2000/svg'%3E%3Cg fill='none' fill-rule='evenodd'%3E%3Cg fill='%23ffffff' fill-opacity='0.05'%3E%3Cpath d='M36 34v-4h-2v4h-4v2h4v4h2v-4h4v-2h-4zm0-30V0h-2v4h-4v2h4v4h2V6h4V4h-4zM6 34v-4H4v4H0v2h4v4h2v-4h4v-2H6zM6 4V0H4v4H0v2h4v4h2V6h4V4H6z'/%3E%3C/g%3E%3C/g%3E%3C/svg%3E");
    pointer-events:none;
}
.nurc-header::after {
    content:''; position:absolute; top:-60px; right:-60px;
    width:200px; height:200px; border-radius:50%;
    background:radial-gradient(circle, rgba(255,255,255,.18), transparent 65%);
    pointer-events:none;
}
.nurc-logo {
    width:52px; height:52px; flex-shrink:0;
    color:#ffffff;
    background: rgba(255,255,255,0.18);
    border-radius: 14px;
    display:flex; align-items:center; justify-content:center;
    border: 1px solid rgba(255,255,255,0.25);
}
.nurc-logo svg { width:30px; height:30px; }
.nurc-h2   {
    font-size:1.2rem; font-weight:800; margin:0 0 3px;
    letter-spacing:-.025em; line-height:1.2;
    color: #ffffff;
}
.nurc-sub  {
    font-size:.68rem; color:rgba(255,255,255,0.75);
    margin:0; letter-spacing:.1em;
    text-transform:uppercase; font-weight:600;
}

/* ── Body ────────────────────────────────────────────────────────────────── */
.nurc-body { padding:1.8rem 2rem; background: var(--sur); }

/* ── Step head ───────────────────────────────────────────────────────────── */
.nurc-step-head {
    display:flex; align-items:center; gap:.55rem;
    margin-bottom:1.4rem;
    font-size:.73rem; font-weight:700; letter-spacing:.05em;
    text-transform:uppercase; color:var(--muted);
}
.nurc-sn {
    width:26px; height:26px; border-radius:8px;
    background: var(--acc-lt); color: var(--acc);
    display:flex; align-items:center; justify-content:center;
    font-size:.68rem; font-family:var(--mono); flex-shrink:0;
    font-weight:600; border: 1px solid rgba(79,70,229,0.15);
}

/* ── Tags ────────────────────────────────────────────────────────────────── */
.nurc-tags { display:flex; gap:.45rem; flex-wrap:wrap; margin-bottom:1.2rem; }
.nurc-tag  {
    font-size:.68rem; font-weight:700; letter-spacing:.04em;
    text-transform:uppercase; padding:.28rem .75rem; border-radius:6px;
}
.nurc-tag-blue  {
    background: #eff6ff; color: var(--blue);
    border:1px solid rgba(37,99,235,.18);
}
.nurc-tag-green {
    background: var(--green-lt); color: var(--green);
    border:1px solid rgba(5,150,105,.18);
}

/* ── Field ───────────────────────────────────────────────────────────────── */
.nurc-field { margin-bottom:1.1rem; }
.nurc-lbl   {
    display:block; font-size:.75rem; font-weight:700; color:var(--txt2);
    margin-bottom:.42rem; letter-spacing:.03em;
}
.nurc-lbl em { font-style:normal; color:var(--muted); font-weight:500; }
.nurc-req    { color:var(--red); margin-left:2px; }

/* ── Inputs ──────────────────────────────────────────────────────────────── */
.nurc-inp {
    width:100%; box-sizing:border-box;
    background: #fafbff;
    border: 1.5px solid #e5e7eb;
    border-radius: var(--r2); color:var(--txt);
    font-family:var(--mono); font-size:.88rem;
    padding:.68rem 1rem; outline:none;
    transition: border-color .15s, box-shadow .15s, background .15s;
    -webkit-appearance:none;
}
.nurc-inp:focus {
    border-color: var(--acc2);
    background: #ffffff;
    box-shadow: 0 0 0 3px rgba(99,102,241,0.12);
}
.nurc-inp::placeholder { color: #c4c9d4; font-size:.84rem; }
.nurc-inp.nurc-inp-err {
    border-color: var(--red);
    box-shadow: 0 0 0 3px rgba(220,38,38,0.1);
}

/* ── Select ──────────────────────────────────────────────────────────────── */
.nurc-sel-wrap { position:relative; }
.nurc-sel {
    width:100%; box-sizing:border-box;
    background:#fafbff; border:1.5px solid #e5e7eb;
    border-radius:var(--r2); color:var(--txt);
    font-family:var(--font); font-size:.875rem;
    padding:.68rem 2.2rem .68rem 1rem; outline:none; cursor:pointer;
    -webkit-appearance:none;
    transition:border-color .15s, box-shadow .15s;
    font-weight:500;
}
.nurc-sel:focus {
    border-color:var(--acc2);
    background:#ffffff;
    box-shadow:0 0 0 3px rgba(99,102,241,0.12);
}
.nurc-sel option, .nurc-sel optgroup { background:#fff; color:var(--txt); }
.nurc-arrow {
    position:absolute; right:.9rem; top:50%; transform:translateY(-50%);
    color:var(--muted); pointer-events:none; font-size:.65rem;
}

/* ── Captcha panel ───────────────────────────────────────────────────────── */
.nurc-captcha-panel {
    display:flex; align-items:center; gap:.65rem;
    background: var(--sur2);
    border: 1.5px solid #e5e7eb;
    border-radius: var(--r2); padding:.85rem; margin-bottom:.55rem;
}
.nurc-captcha-img-box {
    position:relative; height:52px; min-width:136px; flex-shrink:0;
    background:#ffffff; border-radius:8px;
    border:1.5px solid #e5e7eb;
    display:flex; align-items:center; justify-content:center; overflow:hidden;
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
}
.nurc-captcha-img { height:100%; width:100%; display:block; object-fit:contain; }
.nurc-captcha-loading {
    position:absolute; inset:0;
    display:flex; align-items:center; justify-content:center;
    background:rgba(255,255,255,0.85);
}
.nurc-mini-spin {
    width:20px; height:20px;
    border:2px solid rgba(99,102,241,0.15);
    border-top-color:var(--acc); border-radius:50%;
    animation:nurc-spin .65s linear infinite;
}
.nurc-captcha-err {
    position:absolute; inset:0;
    background:rgba(255,255,255,0.95); color:var(--red);
    font-size:.72rem; text-align:center;
    display:flex; align-items:center; justify-content:center;
    padding:.3rem; line-height:1.4;
}
.nurc-captcha-err a { color:var(--blue); }

.nurc-refresh-btn {
    width:40px; height:40px; flex-shrink:0; border-radius:var(--r2);
    border: 1.5px solid #e5e7eb; background: #fff;
    color: var(--acc); cursor:pointer;
    display:flex; align-items:center; justify-content:center; padding:0;
    transition:background .15s, transform .3s, box-shadow .15s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.06);
}
.nurc-refresh-btn:hover {
    background: var(--acc-lt); transform:rotate(180deg);
    box-shadow: 0 2px 8px rgba(79,70,229,0.12);
}
.nurc-refresh-btn svg { width:15px; height:15px; }

.nurc-small { font-size:.72rem; color:var(--muted); margin:.38rem 0 0; }
.nurc-small a { color:var(--acc); text-decoration:none; font-weight:600; }
.nurc-small a:hover { text-decoration:underline; }

/* ── Buttons ─────────────────────────────────────────────────────────────── */
.nurc-btn-primary {
    display:inline-flex; align-items:center; justify-content:center; gap:.45rem;
    width:100%; padding:.84rem; border-radius:var(--r2);
    background: linear-gradient(135deg, var(--acc) 0%, var(--acc2) 100%);
    color:#fff;
    font-family:var(--font); font-size:.9rem; font-weight:700;
    letter-spacing:.01em; cursor:pointer; border:none; margin-top:.35rem;
    transition:all .15s;
    box-shadow: 0 2px 8px rgba(79,70,229,0.25), 0 1px 2px rgba(79,70,229,0.15);
    position:relative; overflow:hidden;
}
.nurc-btn-primary::after {
    content:''; position:absolute; inset:0;
    background:linear-gradient(135deg, rgba(255,255,255,.1), transparent);
    pointer-events:none;
}
.nurc-btn-primary:hover {
    transform:translateY(-1px);
    box-shadow: 0 6px 20px rgba(79,70,229,0.32), 0 2px 6px rgba(79,70,229,0.18);
}
.nurc-btn-primary:active { transform:none; box-shadow:none; }

.nurc-btn-ghost {
    display:inline-flex; align-items:center; gap:.35rem;
    padding:.58rem 1.1rem; border-radius:var(--r2);
    background:#fff; color:var(--txt2);
    border: 1.5px solid #e5e7eb;
    font-family:var(--font); font-size:.82rem; font-weight:600;
    cursor:pointer; transition:all .15s;
    box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.nurc-btn-ghost:hover { background: var(--sur2); border-color: #d1d5db; }
.nurc-btn-ghost.nurc-sm { font-size:.76rem; padding:.4rem .9rem; }

.nurc-icon-btn {
    width:36px; height:36px; border-radius:var(--r2);
    border:1.5px solid #e5e7eb; background:#fff; color:var(--muted);
    cursor:pointer; display:flex; align-items:center; justify-content:center; padding:0;
    transition:all .15s; box-shadow: 0 1px 3px rgba(0,0,0,0.05);
}
.nurc-icon-btn:hover {
    background:var(--acc-lt); color:var(--acc);
    border-color:rgba(79,70,229,.2);
}
.nurc-icon-btn svg { width:14px; height:14px; }

/* ── Layout helpers ──────────────────────────────────────────────────────── */
.nurc-row    { display:flex; gap:.65rem; align-items:center; margin-top:.5rem; }
.nurc-center { justify-content:center; }
.nurc-flex1  { flex:1; margin-top:0 !important; }

/* ── Loading ─────────────────────────────────────────────────────────────── */
.nurc-loading { text-align:center; padding:3rem 1rem; color:var(--muted); font-size:.88rem; }
.nurc-spinner {
    width:40px; height:40px; margin:0 auto 1rem;
    border:3px solid rgba(79,70,229,.1); border-top-color:var(--acc);
    border-radius:50%; animation:nurc-spin .72s linear infinite;
}
@keyframes nurc-spin { to { transform:rotate(360deg); } }

/* ── Result ──────────────────────────────────────────────────────────────── */
.nurc-result-bar {
    display:flex; align-items:center; justify-content:space-between;
    flex-wrap:wrap; gap:.5rem; margin-bottom:.9rem;
}
.nurc-ok-badge {
    display:inline-flex; align-items:center; gap:.4rem;
    font-size:.72rem; font-weight:700; letter-spacing:.05em; text-transform:uppercase;
    padding:.28rem .85rem; border-radius:20px;
    background: var(--green-lt); color: var(--green);
    border:1.5px solid rgba(5,150,105,.2);
}
.nurc-result-actions { display:flex; align-items:center; gap:.4rem; }

.nurc-result-body {
    background: var(--sur2); border: 1.5px solid #e5e7eb;
    border-radius: var(--r2); padding:1.2rem; overflow-x:auto;
    box-shadow: inset 0 1px 4px rgba(0,0,0,0.04);
}
.nurc-result-body table { width:100%; border-collapse:collapse; font-size:.84rem; font-family:var(--mono); }
.nurc-result-body td, .nurc-result-body th {
    padding:.5rem .7rem; border:1px solid #e5e7eb; color:var(--txt);
}
.nurc-result-body th {
    background:#f3f4f6; font-weight:600; font-family:var(--font);
    font-size:.78rem; letter-spacing:.03em; text-transform:uppercase; color:var(--txt2);
}
.nurc-result-body tr:nth-child(even) td { background:#fafbff; }
.nurc-result-body tr:hover td { background:#f0f4ff; }
.nurc-result-body font[color="#FF0000"],
.nurc-result-body font[color="#ff0000"],
.nurc-result-body font[color="red"]    { color:var(--red)   !important; font-weight:700; }
.nurc-result-body font[color="#006600"],
.nurc-result-body font[color="green"]  { color:var(--green) !important; font-weight:700; }

/* ── Error ───────────────────────────────────────────────────────────────── */
.nurc-error { text-align:center; padding:2.5rem 1rem; }
.nurc-err-icon {
    width:52px; height:52px; border-radius:50%;
    background:var(--red-lt); color:var(--red);
    font-size:1.4rem; margin:0 auto .8rem;
    display:flex; align-items:center; justify-content:center;
}
.nurc-error p { font-size:.86rem; color:#6b7280; margin-bottom:1.4rem; line-height:1.6; }

/* ── Utility ─────────────────────────────────────────────────────────────── */
.nurc-hide { display:none !important; }

/* ── Responsive ──────────────────────────────────────────────────────────── */
@media (max-width:540px) {
    .nurc-body   { padding:1.35rem 1.3rem; }
    .nurc-header { padding:1.3rem 1.3rem; }
    .nurc-h2     { font-size:1.1rem; }
}

/* ── Wider result layout ─────────────────────────────────────────────────── */
.nurc-app.nurc-wide {
    max-width: 820px;
}

/* ── Modern result inner ─────────────────────────────────────────────────── */
.nurc-result-inner {
    font-family: var(--font);
    font-size: .9rem;
    color: var(--txt);
    line-height: 1.6;
}

/* Remove inline styles NU injects */
.nurc-result-inner center { text-align: left !important; }
.nurc-result-inner font   { font-family: var(--font) !important; font-size: inherit !important; }

/* ── Result tables — full modern styling ─────────────────────────────────── */
.nurc-result-body table {
    width: 100%;
    border-collapse: separate;
    border-spacing: 0;
    border-radius: 10px;
    overflow: hidden;
    font-size: .86rem;
    font-family: var(--font);
    box-shadow: 0 1px 4px rgba(0,0,0,0.06);
    margin-bottom: 1rem;
}
.nurc-result-body td, .nurc-result-body th {
    padding: .6rem .9rem;
    border: none;
    border-bottom: 1px solid #f0f0f5;
    color: var(--txt);
    vertical-align: middle;
}
.nurc-result-body th {
    background: linear-gradient(135deg, #4f46e5, #6366f1);
    color: #fff !important;
    font-weight: 700;
    font-size: .78rem;
    letter-spacing: .05em;
    text-transform: uppercase;
    border-bottom: none;
    padding: .7rem .9rem;
}
.nurc-result-body tr:last-child td { border-bottom: none; }
.nurc-result-body tr:nth-child(even) td { background: #f7f9ff; }
.nurc-result-body tr:hover td { background: #eef2ff; transition: background .12s; }

/* First column (labels) styling */
.nurc-result-body td:first-child {
    font-weight: 600;
    color: var(--txt2);
    white-space: nowrap;
    width: 1%;
}

/* Pass/Fail font color overrides */
.nurc-result-body font[color="#FF0000"],
.nurc-result-body font[color="#ff0000"],
.nurc-result-body font[color="red"]    {
    color: #dc2626 !important; font-weight: 700;
    background: #fef2f2; padding: .15rem .5rem;
    border-radius: 4px;
}
.nurc-result-body font[color="#006600"],
.nurc-result-body font[color="green"],
.nurc-result-body font[color="#009900"] {
    color: #059669 !important; font-weight: 700;
    background: #ecfdf5; padding: .15rem .5rem;
    border-radius: 4px;
}

/* ── Result page goes wider when result is shown ─────────────────────────── */
#nurc-app.nurc-wide {
    max-width: 800px;
    transition: max-width .3s ease;
}

/* ── Result bar wider ─────────────────────────────────────────────────────── */
.nurc-result-body {
    padding: 1.4rem;
}

/* ── Print: keep clean ───────────────────────────────────────────────────── */
@media print {
    .nurc-result-bar, .nurc-header { display: none; }
    .nurc-result-body { border: none; padding: 0; box-shadow: none; }
}
