/* newcity_base/src/global_kit/nc_new */
.nc-new-here {
  position: relative;
  z-index: 1;
  border-radius: 14px !important;
  box-shadow: 0 0 0 2px var(--nc-ok, #1f9d6b),
              0 6px 20px rgba(31, 157, 107, .30);
  animation: ncHereBlink 1s ease-in-out 3;
}

/* newcity_base/src/global_kit/nc_vcard */
.nc-vc{background:var(--nc-paper,#fff);border-radius:16px;padding:14px;margin-bottom:12px;box-shadow:var(--nc-shadow,0 1px 2px rgba(16,24,40,.05));color:var(--nc-ink,#20242c)}
html[dir=rtl] .nc-vc{direction:rtl}
.nc-vc-amt{background:var(--nc-brand-soft,#eaf3ff);border-radius:12px;padding:12px;text-align:center;margin-bottom:8px}
.nc-vc-amt b{font-weight:900;font-size:26px;font-size:calc(26px + var(--nc-fs-up, 0px));font-variant-numeric:tabular-nums}
.nc-vc-amt small{font-weight:700;font-size:13px;font-size:calc(13px + var(--nc-fs-up, 0px));color:var(--nc-ink-soft,#7a8290);margin-inline-start:6px}
.nc-vc-kv{display:flex;justify-content:space-between;align-items:baseline;gap:12px;padding:8px 0;border-bottom:1px solid var(--nc-line,#dfe3ea);font-size:14px;font-size:calc(14px + var(--nc-fs-up, 0px))}
.nc-vc-kv:last-of-type{border-bottom:0}
.nc-vc-kv > span{color:var(--nc-ink-soft,#7a8290);flex:none}
.nc-vc-kv > b{font-weight:700;text-align:end;overflow-wrap:anywhere;min-width:0}
.nc-vc-kv > b.ok{color:var(--nc-ok, #198754)}
.nc-vc-kv > b.no{color:var(--nc-err,#b00020)}

.nc-k-receipt{--k:#1c7ef2}
.nc-k-return{--k:#d63384}
.nc-k-waste{--k:#fd7e14}
.nc-k-alert{--k:#dc3545}
.nc-k-pay{--k:#198754}
.nc-k-ask{--k:#6f42c1}
.nc-k-info{--k:#64748b}
.nc-vc-sum{display:block;list-style:none;cursor:pointer}
.nc-vc-sum::-webkit-details-marker{display:none}
.nc-vc-top{display:flex;justify-content:space-between;align-items:center;gap:10px;background:color-mix(in srgb, var(--k, #1c7ef2) 12%, var(--nc-paper, #fff));border-radius:12px;padding:8px 12px}
.nc-vc-top > div:first-child{min-width:0}
.nc-vc-kind{display:block;font-size:11px;font-size:calc(11px + var(--nc-fs-up, 0px));font-weight:700;color:var(--nc-ink-soft,#7a8290)}
.nc-vc-title{display:block;font-size:16px;font-size:calc(16px + var(--nc-fs-up, 0px));font-weight:900;line-height:1.3;overflow-wrap:anywhere}
.nc-vc-fig{flex:none;text-align:center;max-width:50%}
.nc-vc-fig b{font-size:18px;font-size:calc(18px + var(--nc-fs-up, 0px));font-weight:900;font-variant-numeric:tabular-nums;overflow-wrap:anywhere}
.nc-vc-fig small{font-size:12px;font-size:calc(12px + var(--nc-fs-up, 0px));font-weight:700;color:var(--nc-ink-soft,#7a8290);margin-inline-start:4px}
.nc-vc-st{display:block;margin-top:0;font-size:12px;font-size:calc(12px + var(--nc-fs-up, 0px));font-weight:800;color:var(--k, #1c7ef2)}
.nc-vc-chevrow{display:flex;justify-content:center;padding-top:6px}
.nc-vc-dash{border-top:2px dashed var(--nc-line,#dfe3ea);margin:8px 0 2px}
.nc-vc-line{padding:8px 0;color:var(--nc-ink-soft,#7a8290);font-size:13px;font-size:calc(13px + var(--nc-fs-up, 0px));line-height:1.55}
.nc-vc-btns{display:flex;gap:8px;margin-top:12px}
.nc-vc-btns > button,.nc-vc-btns > a{flex:1;display:flex;align-items:center;justify-content:center;min-height:46px;border:0;border-radius:12px;padding:0 8px;font-family:inherit;font-weight:800;font-size:14px;font-size:calc(14px + var(--nc-fs-up, 0px));text-decoration:none;cursor:pointer}
.nc-vc-btns > .ok{background:#16a34a;color:#fff}
.nc-vc-btns > .no{background:color-mix(in srgb, #dc2626 10%, var(--nc-paper, #fff));color:color-mix(in srgb, #dc2626 85%, var(--nc-ink, #20242c))}
.nc-vc-btns > .gh{background:transparent;color:var(--nc-brand,#1c7ef2);box-shadow:inset 0 0 0 1px var(--nc-line,#dfe3ea)}
.nc-vc-btns > button:disabled{opacity:.55}

html[data-theme="dark"] .nc-vc-btns > .gh,html.np-dark .nc-vc-btns > .gh{box-shadow:inset 0 0 0 1px var(--nc-line)}

details.nc-vc{padding:6px 6px 0}
details.nc-vc[open]{padding-bottom:12px}

details.nc-vc .nc-vc-chevrow{padding-top:0;height:9px;align-items:center}

/* newcity_base/src/global_kit/nc_wheel */
.nc-wh-rows {
    --nc-wh-notch: 40px;
    --nc-wh-rows: 5;
    position: relative;
    display: flex; align-items: stretch; justify-content: center;
    gap: 6px;
    padding: 6px 4px;

    height: calc(var(--nc-wh-notch) * var(--nc-wh-rows));
    direction: ltr;
}

.nc-wh-rows::before {
    content: "";
    position: absolute; left: 4px; right: 4px;
    top: calc(var(--nc-wh-notch) * 2);
    height: var(--nc-wh-notch);
    border-radius: 12px;
    background: var(--nc-brand-soft, #eaf3ff);
    pointer-events: none;
}

.nc-wh-col {
    flex: 1; min-width: 0;
    overflow-y: auto; overflow-x: hidden;
    scroll-snap-type: y mandatory;
    -webkit-overflow-scrolling: touch;

    overscroll-behavior: contain;
    touch-action: pan-y;
    scrollbar-width: none;
    outline: none;
    position: relative; z-index: 1;
}
.nc-wh-col::-webkit-scrollbar { display: none; }
.nc-wh-col:focus-visible {
    box-shadow: inset 0 0 0 2px var(--nc-brand, #1c7ef2);
    border-radius: 12px;
}

.nc-wh-pad { height: calc(var(--nc-wh-notch) * 2); }

.nc-wh-it {
    height: var(--nc-wh-notch);
    line-height: var(--nc-wh-notch);
    scroll-snap-align: center;
    text-align: center;

    font-size: 17px;font-size:calc(17px + var(--nc-fs-up, 0px)); font-weight: 700;
    font-variant-numeric: tabular-nums;
    color: var(--nc-ink-soft, #7a8290);
    opacity: .55;
    cursor: pointer;
    user-select: none; -webkit-user-select: none;
    transition: opacity .12s ease, color .12s ease;
}
.nc-wh-it.on {
    color: var(--nc-brand, #1c7ef2);
    opacity: 1;
    font-weight: 800;
}

.nc-wh-heads {
    display: flex; gap: 6px; padding: 0 4px;
    direction: ltr;
}
.nc-wh-heads span {
    flex: 1; min-width: 0; text-align: center;
    font-size: 11px;font-size:calc(11px + var(--nc-fs-up, 0px)); font-weight: 800;
    color: var(--nc-ink-soft, #7a8290);
}

.nc-wh-rows::after {
    content: "";
    position: absolute; inset: 0;
    pointer-events: none;
    z-index: 2;
    background: linear-gradient(to bottom,
        var(--nc-wh-bg, #fff) 0, transparent 30%,
        transparent 70%, var(--nc-wh-bg, #fff) 100%);
}

@media (prefers-reduced-motion: reduce) {
    .nc-wh-it { transition: none; }
    .nc-wh-col { scroll-behavior: auto; }
}

/* newcity_base/src/global_kit/nc_cal */
.nc-calin{display:none !important;}
.nc-calbox{display:flex;align-items:center;gap:8px;width:100%;min-height:44px;
    border:1px solid #d6deea;background:#f8fafc;border-radius:10px;
    padding:0 12px;cursor:pointer;font-family:inherit;text-align:start;box-sizing:border-box;}
.nc-calbox svg{flex:0 0 auto;color:#657892;}
.nc-calval{flex:1;min-width:0;font-size:14px;font-size:calc(14px + var(--nc-fs-up, 0px));font-weight:800;color:#0f2c52;
    font-variant-numeric:tabular-nums;

    unicode-bidi:plaintext;}
.nc-calbox.empty .nc-calval{color:#637896;font-weight:700;}

.nc-calx{flex:0 0 auto;border:0;background:transparent;color:#637896;
    font-family:inherit;font-size:16px;font-size:calc(16px + var(--nc-fs-up, 0px));font-weight:900;line-height:1;
    padding:6px 4px;cursor:pointer;}
html[data-theme="dark"] .nc-calbox{background:#111c2f;border-color:#22304a;}
html[data-theme="dark"] .nc-calval{color:#e7edf6;}

.nc-calmodal{position:fixed;inset:0;background:rgba(16,27,45,.45);z-index:9999;
    display:flex;align-items:center;justify-content:center;}
.nc-calsheet{background:#fff;border-radius:18px;padding:14px;width:300px;
    max-width:92vw;box-shadow:0 12px 40px rgba(16,27,45,.25);}
.nc-calfoot{display:flex;gap:8px;margin-top:12px;}
.nc-calbtn{flex:1;border:0;border-radius:10px;padding:11px;font-family:inherit;
    font-size:13px;font-size:calc(13px + var(--nc-fs-up, 0px));font-weight:800;background:#eef2f7;color:var(--nc-brand-d,#1567d6);
    cursor:pointer;}
.nc-calbtn.go{background:#1c7ef2;color:#fff;}
html[data-theme="dark"] .nc-calsheet{--nc-wh-bg:#111c2f;background:var(--nc-wh-bg);}
html[data-theme="dark"] .nc-calbtn{background:#1a2740;color:#8fc0ff;}

html[data-theme="dark"] .nc-calbtn.go{background:#1c7ef2;color:#fff;}

.nc-caltitle{display:block;text-align:center;font-size:16px;font-size:calc(16px + var(--nc-fs-up, 0px));font-weight:900;
    color:#101b2d;font-variant-numeric:tabular-nums;margin-bottom:10px;
    unicode-bidi:plaintext;}
.nc-calheads{margin-bottom:2px;}
html[data-theme="dark"] .nc-caltitle{color:#e7edf6;}
