.ui-btn-icon{font-size:1em;line-height:1;flex:0 0 auto}
.btn,.mobile-install-btn,.classic-nav a.danger{gap:8px}

.status-toast-stack{position:fixed;top:max(18px,env(safe-area-inset-top));right:max(18px,env(safe-area-inset-right));z-index:2147483600;display:grid;gap:10px;width:min(390px,calc(100vw - 32px));pointer-events:none}
.status-toast{pointer-events:auto;display:grid;grid-template-columns:42px minmax(0,1fr) 34px;align-items:center;gap:11px;padding:13px 12px;border:1px solid #e8eaf2;border-radius:18px;background:rgba(255,255,255,.97);box-shadow:0 20px 55px rgba(16,24,40,.16);backdrop-filter:blur(16px);-webkit-backdrop-filter:blur(16px);opacity:0;transform:translateY(-10px) scale(.985);transition:opacity .2s ease,transform .2s ease;color:#101828}
.status-toast.is-visible{opacity:1;transform:translateY(0) scale(1)}
.status-toast-icon{width:42px;height:42px;border-radius:13px;display:grid;place-items:center;font-size:20px}
.status-toast-success .status-toast-icon{background:#ecfdf3;color:#067647}
.status-toast-error .status-toast-icon{background:#fef3f2;color:#b42318}
.status-toast-warning .status-toast-icon{background:#fffaeb;color:#b54708}
.status-toast-info .status-toast-icon{background:#eef4ff;color:#3538cd}
.status-toast-copy{display:grid;gap:2px;min-width:0}
.status-toast-copy strong{font-size:14px;line-height:1.35;color:#101828}
.status-toast-copy span{font-size:13px;line-height:1.45;color:#667085;overflow-wrap:anywhere}
.status-toast-close{width:34px;height:34px;border:0;border-radius:10px;background:transparent;color:#98a2b3;display:grid;place-items:center;cursor:pointer}
.status-toast-close:hover{background:#f2f4f7;color:#344054}

/* Login 2026 minimal refresh */
body.modern-login{margin:0;background:#f6f7fb!important;background-image:none!important;color:#101828}
body.modern-login:before{content:"";position:fixed;inset:0;background:radial-gradient(circle at 20% 10%,rgba(99,102,241,.10),transparent 34%),radial-gradient(circle at 90% 85%,rgba(8,7,56,.07),transparent 30%);backdrop-filter:none;pointer-events:none}
body.modern-login:after{content:"";position:fixed;inset:0;background-image:linear-gradient(rgba(8,7,56,.025) 1px,transparent 1px),linear-gradient(90deg,rgba(8,7,56,.025) 1px,transparent 1px);background-size:32px 32px;mask-image:linear-gradient(to bottom,rgba(0,0,0,.45),transparent 78%);pointer-events:none}
.modern-login .login-shell{position:relative;z-index:1;min-height:100svh;display:grid;place-items:center;padding:32px 20px}
.modern-login .modern-login-panel{width:min(470px,100%);color:#101828;text-align:left}
.modern-login .login-brand-row{display:block;text-align:center;margin-bottom:20px}
.modern-login .modern-login-logo{width:74px;height:74px;border-radius:22px;margin:0 auto 15px;background:#fff;border:1px solid #e8eaf2;box-shadow:0 14px 38px rgba(8,7,56,.10);display:grid;place-items:center;overflow:hidden}
.modern-login .modern-login-logo img{width:100%;height:100%;object-fit:contain;padding:8px;box-sizing:border-box}
.modern-login .login-eyebrow{display:inline-flex;align-items:center;gap:6px;margin:0 0 8px;padding:6px 10px;border-radius:999px;background:#eeefff;color:#4546a8;font-size:11px;font-weight:800;letter-spacing:.08em}
.modern-login .login-brand-copy h1{margin:0;color:#080738;font-size:clamp(27px,6vw,36px);line-height:1.1;letter-spacing:-.035em}
.modern-login .login-brand-copy p{margin:8px auto 0;max-width:360px;color:#667085;font-size:14px;line-height:1.55}
.modern-login .login-card{padding:22px;border:1px solid #e7e9f1;border-radius:24px;background:rgba(255,255,255,.96);box-shadow:0 22px 65px rgba(8,7,56,.10);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}
.modern-login .google-workspace-btn{min-height:54px;border:1px solid #dfe3ec;border-radius:14px;background:#fff;color:#101828;box-shadow:none;text-decoration:none}
.modern-login .google-workspace-btn:hover{border-color:#c7c9dc;background:#fafaff;box-shadow:0 8px 24px rgba(8,7,56,.07)}
.modern-login .login-domain-note{color:#7b8190;font-size:11.5px;margin-top:8px}
.modern-login .login-divider{color:#98a2b3;margin:18px 0}
.modern-login .login-divider:before,.modern-login .login-divider:after{background:#eaecf0}
.modern-login .login-field{color:#344054;font-size:12.5px;font-weight:700;gap:7px}
.modern-login .login-field .field-input-wrap{position:relative}
.modern-login .login-field .field-input-wrap>.bi{position:absolute;left:14px;top:50%;transform:translateY(-50%);color:#98a2b3;font-size:16px;pointer-events:none}
.modern-login .login-field input{width:100%;min-height:50px;border:1px solid #dfe3ec;background:#fff;color:#101828;padding:0 14px 0 42px;border-radius:14px;outline:none;box-sizing:border-box}
.modern-login .login-field input:focus{border-color:#7778dd;box-shadow:0 0 0 4px rgba(99,102,241,.11)}
.modern-login .modern-login-submit{width:100%;min-height:50px;margin-top:4px;justify-content:center;background:#080738;border:1px solid #080738;border-radius:14px;color:#fff;box-shadow:0 10px 24px rgba(8,7,56,.18)}
.modern-login .modern-login-submit:hover{background:#15136a;transform:translateY(-1px)}
.modern-login .login-alert{margin:0 0 14px;border:1px solid #fecdca;border-radius:14px;background:#fef3f2;color:#912018;box-shadow:none}
.modern-login .login-security-note{display:flex;justify-content:center;align-items:center;gap:6px;color:#98a2b3;font-size:11.5px;margin-top:14px}
.modern-login .mobile-install-wrap{margin-top:12px;text-align:center}
.modern-login .mobile-install-btn{border:0;background:transparent;color:#475467;font-weight:700;padding:8px 10px;border-radius:10px;display:inline-flex;align-items:center;justify-content:center}
.modern-login .mobile-install-btn:hover{background:#eef0f5;color:#080738}
.modern-login .mobile-install-help{color:#667085;font-size:12px;line-height:1.5;margin-top:5px}

@media (max-width:640px){
  .status-toast-stack{top:max(12px,env(safe-area-inset-top));right:12px;width:calc(100vw - 24px)}
  .modern-login .login-shell{padding:22px 14px}
  .modern-login .login-card{padding:18px;border-radius:20px}
  .modern-login .modern-login-logo{width:64px;height:64px;border-radius:19px}
  .modern-login .login-brand-copy h1{font-size:28px}
}

@media (prefers-reduced-motion:reduce){.status-toast{transition:none!important}}

/* Sidebar close control: exactly one Bootstrap X icon, no legacy arrow/fallback icon. */
.sidebar-close[data-sidebar-close]{font-size:0!important;}
.sidebar-close[data-sidebar-close]::before,
.sidebar-close[data-sidebar-close]::after{content:none!important;display:none!important;}
.sidebar-close[data-sidebar-close]>.bi-x-lg{display:block!important;font-size:20px!important;line-height:1!important;color:inherit!important;margin:0!important;}


/* Search page: keep the main search input + action on one balanced row. */
.search-primary-card{display:grid;gap:10px;}
.search-primary-label{margin:0;font-weight:700;color:#344054;}
.search-primary-row{display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:stretch;gap:10px;width:100%;min-width:0;}
.search-primary-input-wrap{position:relative;min-width:0;display:flex;align-items:center;}
.search-primary-input-wrap>.bi-search{position:absolute;left:14px;top:50%;transform:translateY(-50%);z-index:2;color:#667085!important;font-size:16px;line-height:1;pointer-events:none;}
.search-primary-input-wrap input{width:100%;min-width:0;height:46px;box-sizing:border-box;padding:0 14px 0 42px!important;border:1px solid #d0d5dd;background:#fff!important;color:#101828!important;border-radius:13px;outline:none;}
.search-primary-input-wrap input::placeholder{color:#98a2b3!important;opacity:1;}
.search-primary-input-wrap input:focus{border-color:#8b8ccf;box-shadow:0 0 0 4px rgba(8,7,56,.06);}
.search-primary-button{min-height:46px;min-width:112px;display:inline-flex!important;align-items:center!important;justify-content:center!important;gap:7px!important;white-space:nowrap;margin:0!important;}
.search-primary-button>.bi-search{color:#fff!important;}

/* Hamburger: never render a legacy arrow/chevron/icon inside the open button. */
#sidebarOpenBtn>i,#sidebarOpenBtn>svg,#sidebarOpenBtn>.material-icon,#sidebarOpenBtn>.material-symbols-rounded,
.sidebar-toggle[data-sidebar-open]>i,.sidebar-toggle[data-sidebar-open]>svg,.sidebar-toggle[data-sidebar-open]>.material-icon,.sidebar-toggle[data-sidebar-open]>.material-symbols-rounded{display:none!important;}
#sidebarOpenBtn::before,#sidebarOpenBtn::after,.sidebar-toggle[data-sidebar-open]::before,.sidebar-toggle[data-sidebar-open]::after{content:none!important;display:none!important;}
#sidebarOpenBtn>span,.sidebar-toggle[data-sidebar-open]>span{display:block!important;width:20px!important;height:2px!important;border-radius:999px!important;background:currentColor!important;margin:3px auto!important;}

@media(max-width:520px){
  .search-primary-row{grid-template-columns:minmax(0,1fr) 48px;gap:8px;}
  .search-primary-button{min-width:48px;width:48px;padding-inline:0!important;}
  .search-primary-button span{position:absolute!important;width:1px!important;height:1px!important;padding:0!important;margin:-1px!important;overflow:hidden!important;clip:rect(0,0,0,0)!important;white-space:nowrap!important;border:0!important;}
}


/* 2026-09-04: Logout is a clear destructive action and stays left aligned. */
.classic-nav a.danger.sidebar-logout-btn{
  display:flex!important;
  width:100%!important;
  align-items:center!important;
  justify-content:flex-start!important;
  flex-direction:row!important;
  gap:10px!important;
  margin-top:12px!important;
  padding:12px 14px!important;
  border:1px solid #dc2626!important;
  border-radius:12px!important;
  background:#dc2626!important;
  color:#fff!important;
  text-align:left!important;
  box-shadow:0 10px 22px rgba(220,38,38,.22)!important;
}
.classic-nav a.danger.sidebar-logout-btn:hover{background:#b91c1c!important;border-color:#b91c1c!important;transform:none!important;}
.classic-nav a.danger.sidebar-logout-btn i{margin:0!important;flex:0 0 auto!important;}
.classic-nav a.danger.sidebar-logout-btn span,
.classic-nav a.danger.sidebar-logout-btn .sidebar-logout-label{
  display:block!important;
  flex:0 0 auto!important;
  width:auto!important;
  margin:0 auto 0 0!important;
  padding:0!important;
  text-align:left!important;
  justify-self:start!important;
}


/* 2026-09-04 Mobile button sizing: keep icons inside buttons and preserve touch targets. */
@media(max-width:640px){
  a.btn,button.btn,input.btn{
    min-height:44px!important;
    padding:10px 14px!important;
    font-size:14px!important;
    line-height:1.25!important;
    gap:8px!important;
    border-radius:12px!important;
    box-sizing:border-box!important;
    vertical-align:middle!important;
  }
  .btn>.bi,.btn>.ui-btn-icon{
    position:static!important;
    inset:auto!important;
    display:inline-flex!important;
    align-items:center!important;
    justify-content:center!important;
    flex:0 0 auto!important;
    width:1.15em!important;
    height:1.15em!important;
    margin:0!important;
    padding:0!important;
    font-size:1.05em!important;
    line-height:1!important;
    transform:none!important;
    overflow:visible!important;
  }
  .btn>span{min-width:0;line-height:1.25;}
  .dc-notice-action{
    min-height:48px!important;
    width:100%!important;
    justify-content:center!important;
    padding:11px 16px!important;
    font-size:14px!important;
  }
  .dc-notice-action>.bi{font-size:17px!important;width:18px!important;height:18px!important;}
  td .btn{
    min-height:40px!important;
    padding:9px 11px!important;
    font-size:13.5px!important;
  }
}
