/* MCT v60: admin, login, mobile menu and card polish */
:root{--mct-v60-nav-icon:1.45rem;--mct-v60-card:linear-gradient(145deg,rgba(255,255,255,.082),rgba(255,255,255,.028));}

/* Sidebar icons: bigger, aligned and visually consistent */
.sidebar nav a{display:flex!important;align-items:center;gap:.72rem!important;line-height:1.15;font-weight:750;}
.sidebar nav a .nav-svg{width:var(--mct-v60-nav-icon)!important;height:var(--mct-v60-nav-icon)!important;min-width:var(--mct-v60-nav-icon)!important;margin-right:0!important;stroke-linecap:round;stroke-linejoin:round;}
.sidebar nav a{font-size:1rem;}
.sidebar nav a:not(:has(.nav-svg)){font-size:1.08rem;}
.sidebar nav a b.nav-badge{margin-left:auto;}

/* Cards: remove the unwanted white corner/flap and make surfaces cleaner */
.mct-panel,.mct-card,.panel,.metric,.glass,.admin-v57 .admin-kpi-grid article,.admin-v57 .admin-insight-grid article,.admin-v57 .compact-row,.admin-v57 .admin-action-list li,.pro-patient-card,.thread-item,.record-card,.patient-entry-card,.focus-card{position:relative;background:var(--mct-v60-card)!important;border:1px solid rgba(255,255,255,.105)!important;box-shadow:0 18px 55px rgba(0,0,0,.32),inset 0 1px 0 rgba(255,255,255,.055)!important;}
.mct-panel::before,.mct-panel::after,.mct-card::before,.mct-card::after,.panel::before,.panel::after,.metric::before,.metric::after,.glass::before,.glass::after,.focus-card::before,.focus-card::after{clip-path:none!important;}
.mct-card::after,.mct-panel::after,.panel::after,.metric::after,.focus-card::after{content:none!important;display:none!important;}
.admin-v57 .admin-kpi-grid article,.admin-v57 .admin-insight-grid article,.admin-v57 .compact-row{border-radius:22px!important;}
.admin-v57 .compact-row:hover,.mct-card:hover,.pro-patient-card:hover{border-color:rgba(100,244,255,.34)!important;transform:translateY(-1px);}

/* Admin: start keeps normal main spacing; subpanels feel like independent screens */
body.role-admin.admin-subpanel-active main[data-admin-main]{padding:0!important;}
body.role-admin.admin-subpanel-active .footer{display:none!important;}
body.role-admin.admin-subpanel-active .admin-v57{max-width:none!important;padding:0!important;}
body.role-admin.admin-subpanel-active .admin-v57 .admin-hero-v56,body.role-admin.admin-subpanel-active .admin-v57 .admin-kpi-grid,body.role-admin.admin-subpanel-active .admin-v57 #admin-start-panel{display:none!important;}
body.role-admin.admin-subpanel-active .admin-v57 .admin-panel-stack{width:100%;}
body.role-admin.admin-subpanel-active .admin-v57 [data-admin-panel]:not(.hidden){min-height:calc(100dvh - 36px);border-radius:28px!important;padding:clamp(1rem,2.4vw,2rem)!important;}

/* Admin forms */
.admin-v57 .admin-inline-form,.mc-modal.form-modal .mct-form-grid{padding:1rem;border-radius:22px;background:rgba(255,255,255,.045);border:1px solid rgba(255,255,255,.08);}
.admin-v57 label,.mc-modal.form-modal label,.login-card label{color:rgba(238,246,255,.84);font-weight:850;letter-spacing:.01em;}
.admin-v57 input,.admin-v57 select,.admin-v57 textarea,.mc-modal.form-modal input,.mc-modal.form-modal select,.mc-modal.form-modal textarea,.login-card input{background:rgba(4,8,20,.82)!important;border-color:rgba(255,255,255,.14)!important;border-radius:16px!important;min-height:50px;box-shadow:inset 0 1px 0 rgba(255,255,255,.04);}
.admin-v57 input:focus,.admin-v57 select:focus,.admin-v57 textarea:focus,.mc-modal.form-modal input:focus,.mc-modal.form-modal select:focus,.mc-modal.form-modal textarea:focus,.login-card input:focus{border-color:rgba(100,244,255,.62)!important;box-shadow:0 0 0 4px rgba(100,244,255,.12),inset 0 1px 0 rgba(255,255,255,.05)!important;}
.admin-v57 textarea{min-height:140px;}
.admin-v57 .mct-btn,.mc-modal.form-modal .mct-btn,.login-card .mct-btn{border-radius:16px!important;min-height:50px;}
.admin-v57 .panel-actions{align-items:stretch!important;}
.admin-v57 .admin-search{min-width:min(330px,100%);}

/* Login repair */
.login-shell{min-height:100dvh!important;padding:clamp(1rem,4vw,2.5rem)!important;display:grid!important;place-items:center!important;}
.login-shell .login-card{width:min(94vw,470px)!important;margin:0 auto!important;padding:clamp(1.25rem,5vw,2.5rem)!important;border-radius:30px!important;text-align:center;overflow:visible!important;}
.login-card .mct-icon{margin:0 auto 1rem!important;}
.login-card h1{font-size:clamp(1.7rem,8vw,2.6rem)!important;line-height:1.03;margin:.25rem 0 1rem!important;overflow-wrap:normal;}
.login-card .privacy-note{margin:0 0 1.15rem!important;text-align:left;}
.login-card form{display:grid!important;grid-template-columns:1fr!important;gap:.85rem!important;}
.login-card button{width:100%;}

/* User options popover: always visible when opened */
.user-menu-popover{z-index:30000!important;opacity:1!important;visibility:visible!important;pointer-events:auto!important;}
.user-menu-popover.hidden{display:none!important;}
.user-menu-popover.is-open:not(.hidden){display:block!important;}
.user-menu-popover .panel-head{display:flex!important;align-items:center;justify-content:space-between;gap:.75rem;}
.user-menu-popover .user-menu-panel{display:none!important;}
.user-menu-popover .user-menu-panel.active{display:block!important;}
.user-menu-popover .mini-btn{width:auto;}

/* Small screens: typical header dropdown instead of bottom/side menu */
@media(max-width:760px){
  .app-shell{display:block!important;padding:0!important;}
  .mobile-menu{display:grid!important;position:fixed!important;inset:10px auto auto 10px!important;width:46px!important;height:46px!important;z-index:25000!important;border-radius:15px!important;background:rgba(8,12,27,.9)!important;border:1px solid rgba(255,255,255,.14)!important;color:#fff!important;backdrop-filter:blur(16px);}
  .sidebar-backdrop{z-index:24000!important;background:rgba(2,4,10,.55)!important;backdrop-filter:blur(4px)!important;}
  .sidebar{position:fixed!important;left:10px!important;right:10px!important;top:62px!important;bottom:auto!important;width:auto!important;height:auto!important;max-height:calc(100dvh - 76px)!important;z-index:25001!important;transform:translateY(-12px) scale(.98)!important;opacity:0!important;pointer-events:none!important;overflow:auto!important;border-radius:22px!important;padding:1rem!important;transition:opacity .18s ease,transform .18s ease!important;}
  .menu-open .sidebar{transform:translateY(0) scale(1)!important;opacity:1!important;pointer-events:auto!important;}
  .sidebar .brand{margin-bottom:.8rem!important;padding-bottom:.75rem;border-bottom:1px solid rgba(255,255,255,.08);}
  .sidebar nav{display:grid!important;grid-template-columns:1fr!important;gap:.45rem!important;max-height:none!important;overflow:visible!important;padding:0!important;}
  .sidebar nav a{min-height:46px!important;padding:.78rem .9rem!important;border-radius:15px!important;white-space:normal!important;font-size:1rem!important;}
  .sidebar .profile{margin-top:.8rem!important;}
  .sidebar .bottom-icons.header-actions-big{position:static!important;display:flex!important;justify-content:center!important;margin-top:.75rem!important;right:auto!important;bottom:auto!important;background:rgba(255,255,255,.045)!important;border-radius:18px!important;}
  .main{padding:0 .75rem 1rem!important;}
  body.role-admin.admin-subpanel-active main[data-admin-main]{padding:0!important;}
  .footer{padding-bottom:1rem!important;}
  .user-menu-popover{left:.75rem!important;right:.75rem!important;top:72px!important;bottom:auto!important;width:auto!important;max-height:calc(100dvh - 90px)!important;}
  .admin-v57 .panel-head{display:grid!important;align-items:stretch!important;}
  .admin-v57 .panel-actions{display:grid!important;grid-template-columns:1fr!important;}
  .admin-v57 .admin-inline-form,.mc-modal.form-modal .mct-form-grid{grid-template-columns:1fr!important;}
  .span-2{grid-column:auto!important;}
}

@media(max-width:480px){
  .login-shell .login-card{width:calc(100vw - 1rem)!important;border-radius:24px!important;}
  .admin-v57 .admin-kpi-grid{grid-template-columns:1fr!important;}
  body.role-admin.admin-subpanel-active .admin-v57 [data-admin-panel]:not(.hidden){min-height:calc(100dvh - 64px);border-radius:0!important;}
}
