/* SmartCikgu Anita — modal tindakan seragam */
body.has-ui-dialog{overflow:hidden}
.ui-dialog[hidden]{display:none!important}
.ui-dialog{position:fixed;inset:0;z-index:9999;display:grid;place-items:center;padding:20px}
.ui-dialog__backdrop{position:absolute;inset:0;background:rgba(15,28,48,.54);backdrop-filter:blur(6px);animation:uiDialogFade .16s ease-out}
.ui-dialog__panel{position:relative;width:min(440px,100%);max-height:min(680px,calc(100vh - 40px));overflow:auto;background:#fff;border:1px solid rgba(218,227,240,.95);border-radius:24px;box-shadow:0 28px 80px rgba(15,35,64,.28);padding:24px;animation:uiDialogRise .18s ease-out}
.ui-dialog__icon{width:48px;height:48px;border-radius:16px;display:grid;place-items:center;margin-bottom:18px;background:#edf4ff;color:#2e67c9;font-size:21px;font-weight:800}
.ui-dialog[data-tone="danger"] .ui-dialog__icon{background:#fff0f2;color:#b83f55}
.ui-dialog[data-tone="warning"] .ui-dialog__icon{background:#fff6df;color:#9b6a07}
.ui-dialog__title{margin:0;font:700 21px/1.3 "Poppins",system-ui,sans-serif;letter-spacing:-.45px;color:#14233f}
.ui-dialog__message{margin:9px 0 0;font:400 14.5px/1.7 "Poppins",system-ui,sans-serif;color:#66738a}
.ui-dialog__actions{display:flex;justify-content:flex-end;gap:10px;margin-top:24px}
.ui-dialog__button{min-height:44px;border:0;border-radius:13px;padding:0 17px;font:600 14px/1 "Poppins",system-ui,sans-serif;cursor:pointer;transition:transform .16s ease,background-color .16s ease,border-color .16s ease}
.ui-dialog__button:hover{transform:translateY(-1px)}
.ui-dialog__button:focus-visible{outline:3px solid rgba(54,105,211,.2);outline-offset:2px}
.ui-dialog__button--cancel{background:#fff;color:#243451;border:1px solid #dfe6f0}
.ui-dialog__button--cancel:hover{background:#f7f9fc}
.ui-dialog__button--confirm{background:#3268d3;color:#fff;box-shadow:0 9px 22px rgba(50,104,211,.22)}
.ui-dialog[data-tone="danger"] .ui-dialog__button--confirm{background:#b83f55;box-shadow:0 9px 22px rgba(184,63,85,.2)}
.ui-dialog[data-tone="warning"] .ui-dialog__button--confirm{background:#9b6a07;box-shadow:0 9px 22px rgba(155,106,7,.18)}
@keyframes uiDialogFade{from{opacity:0}to{opacity:1}}
@keyframes uiDialogRise{from{opacity:0;transform:translateY(10px) scale(.985)}to{opacity:1;transform:none}}
@media(max-width:520px){.ui-dialog{padding:14px;align-items:end}.ui-dialog__panel{width:100%;border-radius:22px;padding:21px}.ui-dialog__actions{display:grid;grid-template-columns:1fr}.ui-dialog__button{width:100%}.ui-dialog__button--confirm{grid-row:1}}
@media(prefers-reduced-motion:reduce){.ui-dialog__backdrop,.ui-dialog__panel{animation:none}.ui-dialog__button{transition:none}}

/* Maklum balas segera untuk semua penghantaran borang dan navigasi dalaman. */
button.is-loading,input.is-loading{cursor:wait!important;opacity:.82;pointer-events:none}
.button:disabled,.btn:disabled{pointer-events:none;cursor:not-allowed!important;transform:none!important}
button.is-loading::before{content:"";width:14px;height:14px;flex:0 0 14px;border:2px solid currentColor;border-right-color:transparent;border-radius:50%;animation:uiBusySpin .65s linear infinite}
form.is-submitting{cursor:progress}
form.is-submitting :is(input,select,textarea){caret-color:transparent}
a.is-navigating{pointer-events:none;opacity:.78}
body.is-page-leaving::after{content:"";position:fixed;z-index:10000;top:0;left:0;width:34%;height:3px;border-radius:0 999px 999px 0;background:linear-gradient(90deg,#3268d3,#23a888);box-shadow:0 1px 8px rgba(50,104,211,.3);animation:uiPageProgress .75s ease-in-out infinite alternate}
@keyframes uiBusySpin{to{transform:rotate(360deg)}}
@keyframes uiPageProgress{from{transform:translateX(-35%)}to{transform:translateX(235%)}}
@media(prefers-reduced-motion:reduce){button.is-loading::before{animation:none}body.is-page-leaving::after{animation:none;width:100%}}
