/* Shared button language: preserve navigation and chart-specific controls while
   giving every business action a consistent hit area and interaction state. */
button{transition:color .16s ease,background-color .16s ease,border-color .16s ease,box-shadow .16s ease,transform .1s ease}
button:focus-visible{outline:0;box-shadow:0 0 0 3px #e6dfff}
button:disabled{cursor:not-allowed}

button.primary,.credential-modal button.primary{min-width:96px;min-height:38px;padding:0 18px;border:1px solid #7652f4;border-radius:7px;background:#7652f4;color:#fff;font-weight:600;white-space:nowrap;box-shadow:0 4px 12px #7252f326}
button.primary:hover:not(:disabled),.credential-modal button.primary:hover:not(:disabled){border-color:#5e3edc;background:#5e3edc;color:#fff;box-shadow:0 6px 16px #5e3edc38}
button.primary:active:not(:disabled),.credential-modal button.primary:active:not(:disabled){transform:translateY(1px);border-color:#5133ca;background:#5133ca;box-shadow:0 2px 7px #5133ca30}
button.primary:disabled,.credential-modal button.primary:disabled{border-color:#ded8f4;background:#eeebf8;color:#aaa0cb;box-shadow:none;opacity:1}

button.control{min-width:72px;min-height:38px;padding:0 16px;border:1px solid #dcdfe6;border-radius:7px;background:#fff;color:#4f525d;font-weight:550;white-space:nowrap;box-shadow:0 1px 2px #14161e08}
button.control:hover:not(:disabled){border-color:#b9abf7;background:#f7f4ff;color:#6545ef;box-shadow:0 3px 10px #7252f314}
button.control:active:not(:disabled){transform:translateY(1px);border-color:#9f8bea;background:#efebff;box-shadow:none}
button.control:disabled{border-color:#e5e6eb;background:#f7f7f9;color:#aaaeb8;box-shadow:none;opacity:1}

button.danger,.credential-modal button.danger{min-width:88px;min-height:38px;padding:0 16px;border:1px solid #efc8cd;border-radius:7px;background:#fff;color:#c43f50;font-weight:550;white-space:nowrap}
button.danger:hover:not(:disabled),.credential-modal button.danger:hover:not(:disabled){border-color:#e6aab3;background:#fff4f5;color:#ad2f40;box-shadow:0 3px 10px #c43f5017}
button.danger:active:not(:disabled),.credential-modal button.danger:active:not(:disabled){transform:translateY(1px);background:#ffecee;box-shadow:none}
button.danger:disabled,.credential-modal button.danger:disabled{border-color:#eadfe1;background:#f8f6f7;color:#b9a7aa;box-shadow:none;opacity:1}

.credential-panel button:not(.primary):not(.control):not(.danger):not(.credential-copy),
.user-panel td button:not(.credential-copy),.user-detail-section td button:not(.credential-copy){min-height:32px;padding:5px 10px;border-radius:6px;color:#7252f3}
.credential-panel button:not(.primary):not(.control):not(.danger):not(.credential-copy):hover,
.user-panel td button:not(.credential-copy):hover,.user-detail-section td button:not(.credential-copy):hover{background:#f1edff;color:#5e3edc}

.credential-modal button:not(.primary):not(.danger):not(.credential-copy),.credential-pagination button{min-height:38px;padding:0 16px;border:1px solid #e2dfed;border-radius:7px;background:#fff;color:#565966;white-space:nowrap}
.credential-modal button:not(.primary):not(.danger):not(.credential-copy):hover:not(:disabled),.credential-pagination button:hover:not(:disabled){border-color:#b9abf7;background:#f7f4ff;color:#6545ef}
.credential-pagination button:disabled{border-color:#e7e7ec;background:#f7f7f9;color:#afb1ba;opacity:1}

.drawer-head>button,.credential-modal header>button,.row-menu,.card-head button,.entity-top button{display:inline-grid;place-items:center;width:36px;height:36px;min-width:36px;padding:0;border:0;border-radius:7px;background:transparent;color:#686b75;box-shadow:none}
.drawer-head>button:hover,.credential-modal header>button:hover,.row-menu:hover,.card-head button:hover,.entity-top button:hover{background:#f1edff;color:#6545ef}

/* Quiet close control: generous hit area with a crisp, optically centered icon. */
.drawer-head>button,.credential-modal header>button{
  position:relative;flex:none;width:32px;height:32px;min-width:32px;min-height:32px!important;padding:0!important;
  border:0!important;border-radius:50%!important;background:transparent!important;color:transparent!important;font-size:0;box-shadow:none!important
}
.drawer-head>button::before,.drawer-head>button::after,
.credential-modal header>button::before,.credential-modal header>button::after{
  content:'';position:absolute;left:9px;top:15px;width:14px;height:1.5px;border-radius:2px;background:#8a8e98;transition:background-color .16s ease,transform .16s ease
}
.drawer-head>button::before,.credential-modal header>button::before{transform:rotate(45deg)}
.drawer-head>button::after,.credential-modal header>button::after{transform:rotate(-45deg)}
.drawer-head>button:hover,.credential-modal header>button:hover{background:#f3f1f8!important}
.drawer-head>button:hover::before,.drawer-head>button:hover::after,
.credential-modal header>button:hover::before,.credential-modal header>button:hover::after{background:#555966}
.drawer-head>button:active,.credential-modal header>button:active{transform:scale(.94)}
.drawer-head>button:focus-visible,.credential-modal header>button:focus-visible{background:#f3f1f8!important;box-shadow:0 0 0 3px #e7e1ff!important}

.text-button:hover,.filter-notice button:hover{border-radius:5px;background:#eee9ff;color:#5d3fdb;text-decoration:none}

@media(prefers-reduced-motion:reduce){button{transition:none}}
