/* One responsive UI; routes, permissions and iframe state stay shared. */
.neard-mobile-nav,.stats-mobile-tools { display:none; }
.neard-mobile-dialog { --mobile-accent:#0f649f; --mobile-highlight:#edf6fc; border:0; border-left:1px solid #e5eaf0; border-radius:22px 0 0 22px; background:#fff; color:#242b35; padding:0; box-shadow:-12px 0 40px #10243b18; }
.neard-mobile-dialog[open] { display:flex; flex-direction:column; animation:mobile-menu-enter .2s ease-out; }
.neard-mobile-dialog::backdrop { background:#15283f40; }
.mobile-menu-head { display:flex; justify-content:space-between; align-items:center; flex:none; gap:12px; padding:16px 16px 6px 22px; }
.mobile-menu-head h2 { font-size:21px; font-weight:700; letter-spacing:-.5px; margin:0; }
.neard-mobile-dialog button { font:inherit; cursor:pointer; }
.mobile-menu-close,.mobile-search-clear { display:grid; place-items:center; flex:none; width:44px; height:44px; padding:10px; border:0; border-radius:50%; background:transparent; color:#5d6877; }
.mobile-menu-search { display:flex; align-items:center; flex:none; margin:8px 20px 16px; padding:0 8px 0 14px; border:1px solid transparent; border-radius:12px; background:#f3f5f8; color:#788494; }
.mobile-menu-search:focus-within { border-color:var(--mobile-accent); }
.mobile-menu-search input { flex:1; min-width:0; height:46px; width:100%; padding:8px; border:0; outline:0; background:transparent; font:inherit; font-size:16px; color:#242b35; }
.mobile-menu-search input::-webkit-search-cancel-button { -webkit-appearance:none; }
.mobile-menu-search>svg { width:20px; height:20px; flex:none; }
.mobile-menu-items { flex:1; min-height:0; overflow-y:auto; overscroll-behavior:contain; padding:0 16px 14px; }
.mobile-menu-section { border-bottom:1px solid #eef1f5; }
.mobile-menu-group { display:flex; align-items:center; gap:12px; min-height:56px; padding:8px; font-size:15px; font-weight:650; cursor:pointer; list-style:none; }
.mobile-menu-group::-webkit-details-marker { display:none; }
.mobile-menu-group>span { flex:1; }
.mobile-menu-group>svg:first-child { width:22px; height:22px; color:var(--mobile-accent); }
.mobile-menu-group>svg:last-child { width:16px; height:16px; color:#8a94a3; transform:rotate(90deg); transition:transform .15s; }
.mobile-menu-section[open]>.mobile-menu-group>svg:last-child { transform:rotate(-90deg); }
.mobile-menu-children { padding:0 0 10px 8px; }
.mobile-menu-children .mobile-menu-section { margin-left:8px; border:0; }
.mobile-menu-entry { display:flex; align-items:center; gap:10px; width:100%; min-height:46px; text-align:left; padding:12px 12px; border:0; border-radius:10px; background:transparent; color:#465263; font-size:14px!important; line-height:1.45; }
.mobile-menu-entry-text { display:grid; flex:1; min-width:0; gap:4px; overflow-wrap:anywhere; }
.mobile-menu-entry small { color:#738092; font-size:12px; }
.mobile-menu-entry>svg { flex:none; width:14px; height:14px; color:#a1abba; }
.mobile-menu-entry[aria-current=page] { color:var(--mobile-accent); background:var(--mobile-highlight); font-weight:650; }
.mobile-menu-entry[aria-current=page]>svg { color:var(--mobile-accent); }
.mobile-menu-status { flex:none; margin:0; padding:10px 24px; font-size:13px; color:#6c7787; }
.mobile-menu-status:empty { display:none; }
.neard-mobile-dialog svg,.neard-mobile-nav svg { fill:none; stroke:currentColor; stroke-width:1.6; stroke-linecap:round; stroke-linejoin:round; }
.neard-mobile-dialog :is(button,summary):focus-visible,.mobile-nav-button:focus-visible { outline:2px solid #0f649f; outline-offset:-3px; }
@keyframes mobile-menu-enter { from { transform:translateX(100%); } to { transform:translateX(0); } }
@media(prefers-reduced-motion:reduce) { .neard-mobile-dialog[open] { animation:none; } .mobile-menu-group>svg { transition:none; } }
body.neard-admin.register-page { height:auto; overflow-y:auto; }
@media(max-width:1000px) {
  body.neard-shell { height:100dvh; }
  .neard-shell .gnb-area { flex:0 0 auto; min-height:54px; padding:4px 12px; }
  .neard-shell .gnb-area nav { display:none; }
  .neard-shell .neard-logo { font-size:23px; }
  .neard-shell .neard-account { gap:8px; }
  .neard-shell .neard-account button { min-height:44px; }
  .neard-shell .neard-account>span { max-width:90px; }
  .neard-shell .neard-tabbar { flex-basis:48px; padding-top:0; }
  .neard-shell .neard-tab-actions { padding:0; gap:6px; }
  .neard-shell .neard-tab-actions button { min-height:44px; padding:4px 6px; }
  .neard-shell .neard-mdi-tab>[role="tab"] { max-width:130px; min-height:44px; }
  .neard-shell .neard-tab-close { min-width:44px; min-height:44px; }
  .neard-mobile-nav { display:block; flex:0 0 auto; height:calc(76px + env(safe-area-inset-bottom)); padding:6px 10px calc(8px + env(safe-area-inset-bottom)); background:var(--ni-page-bg); }
  .mobile-nav-bar { display:flex; align-items:stretch; height:62px; padding:0 4px; border:1px solid #e8edf2; border-radius:28px; background:#fffffff5; box-shadow:0 3px 12px #243b5710; }
  .mobile-nav-button { display:flex; flex:1; min-width:0; align-items:center; justify-content:center; flex-direction:column; gap:4px; padding:6px 2px; border:0; border-radius:24px; background:transparent; color:#242b35; font:inherit; font-size:12px; font-weight:500; line-height:1.3; cursor:pointer; }
  .mobile-nav-button>svg { width:23px; height:23px; }
  .mobile-nav-button[aria-current=page],.mobile-nav-button[aria-expanded=true] { color:#0f649f; font-weight:700; }
  .mobile-nav-button[aria-current=page]>svg,.mobile-nav-button[aria-expanded=true]>svg { stroke-width:2.1; color:#0087de; }
  .neard-mobile-dialog { position:fixed; inset:0 0 calc(76px + env(safe-area-inset-bottom)) auto; margin:0; width:min(368px,calc(100vw - 20px)); height:auto; max-width:none; max-height:none; overflow:hidden; }

}
@media(max-width:1000px) {
  body.neard-screen:has(.ni-statistics) { height:100dvh; overflow-y:auto; }
  .neard-screen .ni-statistics { height:auto; min-height:100dvh; padding:8px; }
  .neard-screen .ni-statistics>.data-area,.ni-statistics .data-area-body { display:block; height:auto; overflow:visible; }
  .ni-statistics .data-area-head h1 { font-size:16px; }
  .ni-statistics .data-area-head .badge_sub { display:none; }
  .ni-statistics .stats-mobile-tools { position:sticky; top:0; z-index:6; display:flex; flex-wrap:wrap; gap:6px; margin:6px 0; padding:4px 0; background:var(--ni-page-bg); }
  .ni-statistics .stats-mobile-tools button { flex:1; min-height:44px; padding:6px; border:1px solid var(--ni-border); border-radius:6px; color:var(--ni-text); background:var(--ni-surface); font:inherit; font-size:13px; }
  .ni-statistics .stats-mobile-tools button[aria-pressed="true"] { background:var(--ni-action); color:white; }
  .ni-statistics:not(.mobile-filters-open) .search-area { display:none; }
  .ni-statistics .search-area { margin-bottom:8px; }
  .ni-statistics .stats-filter { width:100%; flex-wrap:wrap; }
  .ni-statistics .stats-filter input { width:calc((100% - 26px)/2); min-width:0; }
  .ni-statistics .stats-filter label { flex-basis:100%; }
  .ni-statistics .stats-filter select { width:100%!important; }
  .ni-statistics .stats-filter input,.ni-statistics .stats-filter select { height:44px; font-size:16px; }
  .ni-statistics .search-area #stats-presets button,.ni-statistics .search-area .btn-wrap button { min-height:44px; }
  .ni-statistics .stats-actions { width:100%; }
  .ni-statistics .stats-actions button { flex:1; }
  .ni-statistics:not(.mobile-summary-open) .stats-summary>div:nth-child(n+3) { display:none; }
  .ni-statistics .stats-summary { grid-template-columns:repeat(2,minmax(0,1fr)); margin-bottom:6px; }
  .ni-statistics .stats-meta { gap:4px 8px; }
  .ni-statistics .stats-breadcrumbs button,.ni-statistics #stats-drill { min-height:44px; }
  .ni-statistics .stats-panels { display:block; overflow:visible; }
  .ni-statistics .stats-panels>.split-fill { height:clamp(340px,58dvh,540px); min-height:340px; display:flex; flex-direction:column; }
  .ni-statistics .stats-panels>.split-divider { display:none; }
  .ni-statistics .stats-detail { display:none; }
  .ni-statistics.mobile-detail-open .stats-panels>.split-fill { display:none; }
  .ni-statistics.mobile-detail-open .stats-detail { display:block; width:100%; height:auto; }
  .ni-statistics.mobile-detail-open #freeform { height:auto; max-height:none; overflow:visible; }
  .ni-statistics #freeform input { min-height:40px; font-size:16px; }
  .ni-statistics .stats-note { padding-bottom:12px; }
  .neard-login #loginWrapper { min-height:100dvh; }
  .neard-login #loginHeader { padding:14px 16px; }
  .neard-login #loginHeader .inner { padding:0; }
  .neard-login .neard-login-title,.neard-login .neard-hero { display:none; }
  .neard-login .login-main { display:block; padding:20px 16px; }
  .neard-login .login-main .inner { padding:0; }
  .neard-login .banner-login-area { display:block; padding:0; }
  .neard-login .login-box { width:100%; padding:0; }
  .neard-login .login-box h2 { margin-bottom:20px; }
  .neard-login .login-input-form ul li input.login-input { height:52px; font-size:16px; }
  .neard-login .submit-btn { min-height:48px; }
  .neard-login .neard-login-help a { display:block; min-height:44px; padding:12px 0; font-size:16px; }
  .neard-login #loginFooter .inner { padding:16px; }
  body.neard-admin.register-page { padding:12px 8px calc(16px + env(safe-area-inset-bottom)); }
  .register-page .register-card { padding:20px 14px; }
  .register-page .register-fields { grid-template-columns:1fr; gap:14px; }
  .register-page .register-fields input { min-height:44px; font-size:16px; }
  .register-page .register-fields .form-head { font-size:14px; }
  .register-page .register-actions { gap:10px; }
  .register-page .register-actions>a,.register-page .register-actions>button,.register-page #company-suggestion button { min-height:44px; padding:10px; }
  .register-page .register-actions>button { min-width:100px; }
}
