/* Compact premium period control; display only one top-level date field. */
.nx-single-period{position:relative;align-items:end;overflow:visible}
.nx-single-period .nx-period-label{min-width:225px;position:relative}
.nx-period-bar{display:flex;align-items:stretch;border:1px solid var(--line,#dbe2ee);border-radius:12px;background:var(--surface,#fff);overflow:hidden;height:44px}
.nx-period-bar button{border:0;background:transparent;color:inherit;cursor:pointer}
.nx-period-step{width:36px;font-size:24px;color:#4166a5!important}
.nx-period-step:hover{background:#eff5ff}
.nx-period-trigger{flex:1;white-space:nowrap;padding:0 10px;font-weight:650;font-size:14px}
.nx-period-trigger span{color:#64748b;padding-left:6px}
.nx-period-popup{position:absolute;z-index:40;top:calc(100% + 5px);left:0;width:min(385px,calc(100vw - 42px));padding:16px;background:var(--surface,#fff);border:1px solid #dbe2ee;box-shadow:0 18px 45px rgba(14,34,62,.14);border-radius:15px}
.nx-period-popup[hidden],.nx-period-group[hidden]{display:none!important}
.nx-period-mode{display:flex;gap:15px;margin-bottom:14px;flex-wrap:wrap}.nx-period-mode label{display:flex;align-items:center;gap:6px;font-size:13px;cursor:pointer}
.nx-period-group{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:12px}.nx-period-group label{min-width:0;font-size:12px}.nx-period-group select,.nx-period-group input{width:100%}
.nx-period-actions{display:flex;justify-content:flex-end;gap:8px;margin-top:14px}
@media(max-width:640px){.nx-single-period .nx-period-label{width:100%;min-width:0}.nx-period-popup{max-width:95vw}}
