/* ═══════════════════════════════════════════════════════════════
   NSTR V4.15 — Modern administration + login UI
═══════════════════════════════════════════════════════════════ */

.ui-v415-admin,.ui-v415-login{
  --bg:#f3f6fa;
  --surface:#fff;
  --surface-2:#f8fafc;
  --surface-3:#edf2f7;
  --line:#dce5ef;
  --line-strong:#c6d3e1;
  --ink:#102033;
  --ink-soft:#33475b;
  --ink-muted:#66788a;
  --ink-faint:#91a0af;
  --shadow-sm:0 2px 6px rgba(15,39,71,.055);
  --shadow:0 14px 36px rgba(15,39,71,.095);
  --shadow-lg:0 26px 62px rgba(15,39,71,.17);
  --radius:18px;
  --radius-sm:12px;
  -webkit-font-smoothing:antialiased;
}
.ui-v415-admin :focus-visible,.ui-v415-login :focus-visible{outline:3px solid var(--brand-300);outline-offset:2px}
.ui-v415-admin .btn,.ui-v415-login .btn{min-height:42px;border-radius:12px;font-weight:600}
.ui-v415-admin .btn-brand,.ui-v415-login .btn-brand{background:linear-gradient(135deg,var(--brand-600),var(--brand-800));box-shadow:0 10px 22px rgba(30,58,138,.22)}

/* Admin shell */
.ui-v415-admin{background:radial-gradient(circle at 88% 0,#e9f3ff,transparent 28rem),#f3f6fa}
.ui-v415-admin .ad-sidebar{width:258px;border-right:1px solid rgba(255,255,255,.09);background:linear-gradient(180deg,#0d2d5d 0%,#0b2145 58%,#081a36 100%);box-shadow:8px 0 28px rgba(7,23,48,.12)}
.ui-v415-admin .ad-main{margin-left:258px}
.ui-v415-admin .ad-side-head{min-height:76px;padding:15px 16px;border-bottom:1px solid rgba(255,255,255,.08)}
.ui-v415-admin .ad-logo{width:48px;height:48px;padding:4px;border:1px solid rgba(255,255,255,.16);border-radius:14px;background:#fff;box-shadow:0 9px 22px rgba(2,12,27,.22)}
.ui-v415-admin .ad-logo img{width:40px;height:40px}
.ui-v415-admin .ad-side-title strong{font-size:15px}.ui-v415-admin .ad-side-title small{margin-top:1px;color:#a9bed5;font-size:10.5px}
.ui-v415-admin .ad-clock-card{margin:12px 13px 8px;padding:11px;border-color:rgba(255,255,255,.09);border-radius:12px;background:rgba(255,255,255,.055);box-shadow:inset 0 1px rgba(255,255,255,.04)}
.ui-v415-admin .ad-clock{font-size:21px;text-shadow:none}.ui-v415-admin .ad-date{color:#9db2ca}
.ui-v415-admin .ad-nav{padding:8px 10px}
.ui-v415-admin .ad-nav-group{margin-bottom:13px}
.ui-v415-admin .ad-nav-label{padding:7px 10px;color:#7187a2;font-size:10px;letter-spacing:.08em}
.ui-v415-admin .ad-nav-label .dot{width:6px;height:6px;background:#60a5fa;box-shadow:none}
.ui-v415-admin .ad-nav-link{min-height:43px;padding:9px 11px;border-radius:10px;color:#c7d4e4;font-size:13px}
.ui-v415-admin .ad-nav-link i{width:31px;height:31px;display:grid;place-items:center;border-radius:9px;color:#9eb1c8;background:rgba(255,255,255,.055)}
.ui-v415-admin .ad-nav-link:hover{background:rgba(255,255,255,.08)}
.ui-v415-admin .ad-nav-link:hover i{color:#fff;background:rgba(255,255,255,.1)}
.ui-v415-admin .ad-nav-link.is-active{color:#fff;background:linear-gradient(90deg,rgba(59,130,246,.3),rgba(59,130,246,.09));box-shadow:inset 0 0 0 1px rgba(147,197,253,.13)}
.ui-v415-admin .ad-nav-link.is-active::before{top:8px;bottom:8px;width:3px;background:#60a5fa;box-shadow:none}
.ui-v415-admin .ad-nav-link.is-active i{color:#0d2d5d;background:#fff}
.ui-v415-admin .ad-user-card{margin:8px 11px 13px;padding:12px;border-color:rgba(255,255,255,.1);border-radius:13px;background:rgba(255,255,255,.065)}
.ui-v415-admin .ad-avatar{border-radius:11px;background:linear-gradient(135deg,#3b82f6,#1d4ed8);box-shadow:0 7px 16px rgba(2,12,27,.18)}
.ui-v415-admin .ad-navbar{min-height:70px;padding:11px 24px;border-bottom:1px solid rgba(203,215,229,.78);background:rgba(255,255,255,.91);box-shadow:0 6px 22px rgba(15,39,71,.055);backdrop-filter:blur(17px) saturate(145%)}
.ui-v415-admin .ad-page-icon{width:44px;height:44px;border:1px solid var(--brand-200);border-radius:12px;color:var(--brand-700);background:var(--brand-50);box-shadow:none}
.ui-v415-admin .ad-page-title strong{font-size:18px}.ui-v415-admin .ad-page-title small{font-size:11.5px}
.ui-v415-admin .ad-status-pill{padding:6px 12px;border:1px solid #bbf7d0;border-radius:9px;background:#f0fdf4;font-size:11.5px}
.ui-v415-admin .ad-profile-btn{border:1px solid var(--line);border-radius:12px;background:#fff;box-shadow:0 4px 13px rgba(15,39,71,.055)}
.ui-v415-admin .ad-profile-pop{border-color:var(--line);border-radius:17px;box-shadow:0 24px 58px rgba(15,39,71,.18)}
.ui-v415-admin .ad-content{max-width:1460px;padding:28px 28px 44px}
.ui-v415-admin .ad-footer{padding:17px 28px;border-top-color:var(--line);background:rgba(255,255,255,.45)}

/* Dashboard and data surfaces */
.ui-v415-admin .ad-flash{border-radius:12px;box-shadow:0 7px 20px rgba(15,39,71,.05)}
.ui-v415-admin .ad-hero{padding:30px 32px;border:1px solid rgba(255,255,255,.12);border-radius:22px;background:linear-gradient(120deg,#0d2d5d,#1d4ed8);box-shadow:0 18px 42px rgba(30,58,138,.2)}
.ui-v415-admin .ad-hero::before{width:42%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.09),transparent)}
.ui-v415-admin .ad-greet{color:#bfdbfe}.ui-v415-admin .ad-hero-text h2{font-size:25px}.ui-v415-admin .ad-hero-text p{color:#dbeafe}
.ui-v415-admin .ad-stat-grid{gap:17px}
.ui-v415-admin .ad-stat-card{min-height:98px;padding:19px;border-color:var(--line);border-radius:17px;background:#fff;box-shadow:0 8px 24px rgba(15,39,71,.065)}
.ui-v415-admin .ad-stat-card:hover{transform:translateY(-4px);border-color:var(--brand-200);box-shadow:0 18px 38px rgba(15,39,71,.11)}
.ui-v415-admin .ad-stat-ic{width:50px;height:50px;border-radius:13px}.ui-v415-admin .ad-stat-meta strong{font-size:25px}
.ui-v415-admin .ad-card{border-color:var(--line);border-radius:18px;box-shadow:0 8px 24px rgba(15,39,71,.065)}
.ui-v415-admin .ad-pad{padding:22px}
.ui-v415-admin .ad-card-title{padding-bottom:13px;border-bottom:1px solid var(--line);font-size:16px}
.ui-v415-admin .ad-card-title i{width:34px;height:34px;display:grid;place-items:center;border-radius:10px;background:var(--brand-50)}
.ui-v415-admin .ad-toolbar{margin-bottom:19px}
.ui-v415-admin .ad-search input{min-height:45px;border-color:var(--line);border-radius:11px;background:#fff}
.ui-v415-admin .ad-table-wrap{border-radius:14px}
.ui-v415-admin .ad-table thead th{padding:14px;color:#536679;background:#f4f7fb}
.ui-v415-admin .ad-table tbody td{padding:13px 14px;border-bottom-color:#e8eef5}
.ui-v415-admin .ad-table tbody tr:hover{background:#f7faff}
.ui-v415-admin .ad-thumb{border:1px solid var(--line);border-radius:9px}
.ui-v415-admin .ad-tag,.ui-v415-admin .ad-bool{border:1px solid var(--line);background:#f6f8fb}
.ui-v415-admin .ad-act{border-radius:9px}
.ui-v415-admin .ad-empty{border-color:var(--line);border-radius:18px;box-shadow:0 8px 24px rgba(15,39,71,.055)}
.ui-v415-admin .ad-empty-ic{width:82px;height:82px;border:1px solid var(--brand-100);background:var(--brand-50)}
.ui-v415-admin .ad-form-card{padding:24px}
.ui-v415-admin .ad-field{margin-bottom:19px}
.ui-v415-admin .ad-form input:not([type=checkbox]):not([type=radio]),.ui-v415-admin .ad-form textarea,.ui-v415-admin .ad-form select{min-height:46px;border-color:var(--line);border-radius:11px;background:#fbfdff}
.ui-v415-admin .ad-form input:focus,.ui-v415-admin .ad-form textarea:focus,.ui-v415-admin .ad-form select:focus{border-color:var(--brand-400);box-shadow:0 0 0 4px rgba(59,130,246,.11)}
.ui-v415-admin .ad-upload-preview{height:190px;border-color:var(--line-strong);border-radius:15px;background-color:#f8fafc}
.ui-v415-admin .ad-upload-preview:hover{border-color:var(--brand-400);background-color:var(--brand-50)}
.ui-v415-admin .ad-form-grid,.ui-v415-admin .ad-grid-2{gap:20px}
.ui-v415-admin .ad-form-actions{padding-top:20px;border-top:1px solid var(--line)}
.ui-v415-admin .ad-settings-tabs{border-color:var(--line);border-radius:14px;background:#fff;box-shadow:0 7px 20px rgba(15,39,71,.05)}

/* Login */
.ui-v415-login{padding:28px;background:
  radial-gradient(circle at 12% 10%,rgba(96,165,250,.28),transparent 28rem),
  radial-gradient(circle at 88% 92%,rgba(251,191,36,.12),transparent 24rem),
  linear-gradient(135deg,#081b36,#0d2d5d 58%,#124984)}
.ui-v415-login::before{width:620px;height:620px;top:-280px;right:-220px;border:70px solid rgba(255,255,255,.025);background:transparent}
.ui-v415-login .login-stage{max-width:1060px;min-height:610px;border:1px solid rgba(255,255,255,.19);border-radius:29px;background:#fff;box-shadow:0 42px 110px rgba(2,12,27,.48)}
.ui-v415-login .login-brand{padding:46px 43px}
.ui-v415-login .login-brand-bg{background:linear-gradient(150deg,#0d2d5d,#0a2147)}
.ui-v415-login .login-brand-bg::before{content:"";position:absolute;inset:0;opacity:.13;background-image:linear-gradient(rgba(255,255,255,.13) 1px,transparent 1px),linear-gradient(90deg,rgba(255,255,255,.13) 1px,transparent 1px);background-size:48px 48px;mask-image:linear-gradient(135deg,#000,transparent 90%)}
.ui-v415-login .login-logo{width:72px;height:72px;padding:5px;border-radius:18px;background:#fff;box-shadow:0 12px 28px rgba(2,12,27,.24)}
.ui-v415-login .login-logo::after{display:none}
.ui-v415-login .login-logo img{width:61px;height:61px}
.ui-v415-login .login-tagline{font-size:28px;letter-spacing:-.02em}.ui-v415-login .login-tagline span{color:#bfdbfe;background:none;-webkit-text-fill-color:initial}
.ui-v415-login .login-org{color:#b9cee5}
.ui-v415-login .login-features{gap:10px}
.ui-v415-login .lf-card{padding:12px 14px;border-color:rgba(255,255,255,.11);border-radius:12px;background:rgba(255,255,255,.07)}
.ui-v415-login .lf-card i{width:37px;height:37px;display:grid;place-items:center;border-radius:10px;color:#fff;background:rgba(255,255,255,.11)}
.ui-v415-login .login-stats strong{color:#fff;font-size:18px}.ui-v415-login .login-stats small{color:#9eb5ce}
.ui-v415-login .login-form-wrap{padding:48px 44px;background:linear-gradient(180deg,#fff,#fbfdff)}
.ui-v415-login .login-form-wrap h2{color:#102033;font-size:26px}.ui-v415-login .login-sub{margin-bottom:27px}
.ui-v415-login .lf{gap:17px}
.ui-v415-login .lf-field input{min-height:49px;border-color:var(--line);border-radius:12px;background:#fbfdff}
.ui-v415-login .lf-field input:focus{border-color:var(--brand-400);background:#fff;box-shadow:0 0 0 4px rgba(59,130,246,.11)}
.ui-v415-login .lf-submit{height:52px;border-radius:12px;background:linear-gradient(135deg,#2563eb,#1e3a8a);box-shadow:0 12px 26px rgba(30,58,138,.25)}
.ui-v415-login .login-back{padding:7px 11px;border-radius:9px}.ui-v415-login .login-back:hover{background:var(--brand-50)}

@media(max-width:1080px){
  .ui-v415-admin .ad-sidebar{width:248px}
  .ui-v415-admin .ad-main{margin-left:248px}
  .ui-v415-admin .ad-content{padding-inline:22px}
}
@media(max-width:900px){
  .ui-v415-admin .ad-sidebar{width:270px}
  .ui-v415-admin .ad-main{margin-left:0}
  .ui-v415-admin .ad-navbar{padding-inline:16px}
  .ui-v415-admin .ad-content{padding:20px 15px 36px}
  .ui-v415-admin .ad-burger{display:grid;border:1px solid var(--line);background:#fff}
  .ui-v415-admin .ad-hero{padding:25px 22px}
  .ui-v415-login{padding:16px}
  .ui-v415-login .login-stage{max-width:560px;min-height:0;border-radius:24px}
  .ui-v415-login .login-form-wrap{padding:36px 30px}
  .ui-v415-login .login-mini-brand{display:flex}
  .ui-v415-login .login-mini-brand img{padding:2px;border:1px solid var(--line);border-radius:11px;background:#fff}
}
@media(max-width:560px){
  .ui-v415-admin .ad-navbar{min-height:62px}
  .ui-v415-admin .ad-page-icon{display:none}
  .ui-v415-admin .ad-page-title strong{font-size:15px}
  .ui-v415-admin .ad-status-pill{display:none}
  .ui-v415-admin .ad-content{padding-inline:12px}
  .ui-v415-admin .ad-hero{border-radius:17px}.ui-v415-admin .ad-hero-deco{display:none}
  .ui-v415-admin .ad-grid-2{grid-template-columns:1fr}
  .ui-v415-admin .ad-form-card{padding:18px 15px}
  .ui-v415-admin .ad-footer{padding-inline:15px}
  .ui-v415-login{padding:10px}
  .ui-v415-login .login-stage{border-radius:20px}
  .ui-v415-login .login-form-wrap{padding:30px 21px}
  .ui-v415-login .login-form-wrap h2{font-size:23px}
}

@media(prefers-reduced-motion:reduce){
  .ui-v415-admin *, .ui-v415-admin *::before, .ui-v415-admin *::after,
  .ui-v415-login *, .ui-v415-login *::before, .ui-v415-login *::after{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}
}
