/* KAJUKS shared controls: brand orange, navy, cyan and green. */
:root{--ui-orange:#c74708;--ui-navy:#104b7b;--ui-focus:#087e98;--ui-radius:12px;--ui-shadow:0 5px 12px #18394f14}
body :is(.btn,.btn-react,.btn-action,.btn-premium,.btn-primary-grad,.btn-filter,.btn-ghost,.btn-hero,.btn-create,.btn-modal-cancel,.btn-modal-confirm,.btn-pdf,.btn-back,.btn-print,.orange-button,button[type=submit],input[type=submit],.concept-card button){border-radius:var(--ui-radius)!important;font-weight:650!important;font-size:13px;letter-spacing:.01em;min-height:42px;line-height:1.35;padding:11px 19px;display:inline-flex;align-items:center;justify-content:center;gap:8px;border:1px solid #d7e2eb;box-shadow:var(--ui-shadow)!important;text-decoration:none;transition:background .18s,box-shadow .18s,transform .18s,border-color .18s;cursor:pointer;vertical-align:middle}
body :is(.btn-primary,.btn-react-primary,.btn-primary-grad,.btn-premium:not(.btn-premium-outline),.btn-create,.btn-modal-confirm,.orange-button){color:#fff!important;background:linear-gradient(145deg,#d65310,#b93d04)!important;border-color:#bb4008!important;box-shadow:0 5px 13px #c7470826,inset 0 1px #ffffff24!important}
body :is(.btn-primary,.btn-react-primary,.btn-primary-grad,.btn-premium:not(.btn-premium-outline),.btn-create,.btn-modal-confirm,.orange-button):hover{background:linear-gradient(145deg,#c34609,#a93402)!important;box-shadow:0 8px 18px #b83e0830!important}
body :is(.btn-secondary,.btn-dark,.btn-react-secondary){background:linear-gradient(140deg,#195b8c,#103d62)!important;border-color:#164970!important;color:white!important}
body :is(.btn-outline-primary,.btn-light,.btn-outline-secondary,.btn-react-outline,.btn-premium-outline,.btn-ghost,.btn-modal-cancel,.btn-react-white,.btn-react-light){background:#fff!important;border:1px solid #cbdbe8!important;color:#104b7b!important}
body :is(.btn-outline-primary,.btn-light,.btn-outline-secondary,.btn-react-outline,.btn-premium-outline,.btn-ghost,.btn-modal-cancel,.btn-react-white,.btn-react-light):hover{background:#edf6fc!important;border-color:#104b7b!important}
body :is(.btn-success,.btn-react-success,.btn-action-success){background:#187a46!important;border-color:#126a3b!important;color:#fff!important}
body :is(.btn-danger,.btn-react-danger){background:#b52c3c!important;border-color:#a62232!important;color:#fff!important}
body :is(.btn-outline-danger,.btn-action.danger){background:#fff4f5!important;border-color:#efc9ce!important;color:#a42635!important}
body :is(.btn-warning,.btn-outline-warning){background:#fff4d8!important;border-color:#e7c879!important;color:#754e00!important}
body :is(.btn-info,.btn-outline-info){background:#e7f8fb!important;border-color:#aadce4!important;color:#09697c!important}
body :is(.btn,.btn-react,.btn-action,.btn-premium,.btn-primary-grad,.btn-filter,.btn-ghost,.btn-hero,.btn-create,.btn-modal-cancel,.btn-modal-confirm,.btn-pdf,.btn-back,.btn-print,.orange-button):hover:not(:disabled):not(.disabled){transform:translateY(-1px)}
body :is(.btn,.btn-react,.btn-action,.btn-premium,.btn-primary-grad,.btn-filter,.btn-ghost,.btn-hero,.btn-create,.btn-modal-cancel,.btn-modal-confirm,.btn-pdf,.btn-back,.btn-print,.orange-button):active:not(:disabled){transform:translateY(0);box-shadow:none!important}
body :is(.btn-sm,.btn-react-sm){min-height:36px;padding:8px 13px;font-size:12px}
body .btn-action{min-width:40px;min-height:40px;padding:10px!important;border-radius:11px!important;background:#eef5fa;color:#164e78}
body :is(button,input[type=submit],.btn):disabled,body .btn.disabled{opacity:.48!important;cursor:not-allowed!important;transform:none!important;box-shadow:none!important}
body :is(button,a,input,select,textarea):focus-visible{outline:3px solid var(--ui-focus)!important;outline-offset:3px!important;box-shadow:0 0 0 5px #16b9d51a!important}
body :is(.form-control,.form-select,.concept-card input:not([type=checkbox]):not([type=radio]),.concept-card select,.concept-card textarea){border-radius:10px;border:1px solid #d4dfe8;min-height:44px;background-color:#fbfdff;transition:border-color .18s,box-shadow .18s}
body :is(input[type=checkbox],input[type=radio]){accent-color:#104b7b}
body .modal-backdrop{background:#0d2335}.modal-backdrop.show{opacity:.55}
body .modal{backdrop-filter:blur(5px)}
body .modal-content{border:1px solid #ffffffa6!important;border-radius:22px!important;box-shadow:0 28px 90px #0d29394d!important;overflow:hidden;background:#fff}
body .modal-header{background:linear-gradient(125deg,#f2f8fc,#fff)!important;border-bottom:1px solid #e6eef4!important;padding:24px!important;color:#132d45!important;gap:16px}
body .modal-title{font-size:19px!important;font-weight:750!important;letter-spacing:-.4px;color:#132d45!important}
body .modal-title i{color:#c74708!important;margin-right:8px}
body .modal-body{padding:26px!important;color:#30465b}
body .modal-footer{padding:18px 26px!important;border-top:1px solid #e6eef4!important;background:#f8fbfd;gap:8px}
body .btn-close{border-radius:50%!important;background-color:#e8eff5!important;opacity:.8;padding:12px!important;box-shadow:none!important;min-height:0;flex-shrink:0}
body .modal.fade .modal-dialog{transform:translateY(18px) scale(.985)}body .modal.show .modal-dialog{transform:none}
body .alert{border-radius:14px!important;padding:18px 22px!important;border:1px solid #cbdde9!important;border-left:4px solid #167ca7!important;box-shadow:0 4px 16px #193f5d08;font-size:14px;line-height:1.6;background:#eef7fc;color:#164869}
body .alert-success{background:#effaf3;color:#175637;border-color:#c8e8d3!important;border-left-color:#24824e!important}
body :is(.alert-danger,.alert-error){background:#fff2f3;color:#902638;border-color:#f0cdd3!important;border-left-color:#bb3649!important}
body .alert-warning{background:#fff9e9;color:#775411;border-color:#eddcb2!important;border-left-color:#b48418!important}
body .alert-dismissible{padding-right:58px!important}
#live-bell{display:grid;place-items:center;width:42px;height:42px;margin:0;border:1px solid #ffffff25;border-radius:13px;background:#ffffff0a;transition:background .18s}#live-bell:hover{background:#ffffff20}#live-bell b{right:-4px;top:-5px;min-width:19px;border:2px solid #19262e;padding:2px 4px;background:#d74d09}
#live-toast{display:flex!important;flex-direction:column;gap:10px;position:fixed;inset:auto 24px 24px auto;width:min(390px,calc(100vw - 32px));max-width:none;background:transparent!important;padding:0!important;z-index:1090;color:#18364c}#live-toast:empty{display:none!important}
.kj-toast{display:grid;grid-template-columns:40px 1fr 28px;gap:12px;padding:18px;border:1px solid #dce8ef;border-left:4px solid #13a9bd;background:#fff;border-radius:16px;box-shadow:0 14px 48px #102c4730;animation:kj-arrive .22s ease-out}.kj-toast-icon{width:38px;height:38px;border-radius:12px;background:#e9f8fb;display:grid;place-items:center;color:#097b8d}.kj-toast strong{display:block;font-size:14px;line-height:1.5}.kj-toast small{display:block;color:#728497;font-size:10px;text-transform:uppercase;letter-spacing:1px;margin-bottom:3px}.kj-toast p{font-size:12px;color:#5b7184;margin:6px 0;overflow-wrap:anywhere}.kj-toast a{font-size:12px;font-weight:700}.kj-toast-close{border:0;background:#f0f5f8;border-radius:8px;width:28px;height:28px;color:#516b80}
.kj-confirm{border:1px solid #dde6ed;border-radius:22px;padding:0;width:min(440px,calc(100vw - 32px));box-shadow:0 30px 100px #082a4855;color:#16334b}.kj-confirm::backdrop{background:#10273c99;backdrop-filter:blur(5px)}.kj-confirm-body{padding:30px}.kj-confirm-icon{display:grid;place-items:center;background:#fff0e4;color:#b9480b;border-radius:16px;width:52px;height:52px;font-size:23px;margin-bottom:20px}.kj-confirm h2{font-size:23px;font-weight:750;letter-spacing:-.6px}.kj-confirm p{font-size:14px;line-height:1.7;color:#5b7184}.kj-confirm-actions{display:flex;justify-content:flex-end;gap:10px;padding:18px 24px;background:#f5f9fc;border-top:1px solid #e2ebf2}
.kj-notice-toolbar{display:flex;justify-content:space-between;gap:16px;flex-wrap:wrap;margin:24px 0}.kj-notice-tabs{display:flex;gap:8px}.kj-notice-tabs .active{background:#104b7b!important;color:#fff!important;border-color:#104b7b!important}.kj-notices{border:1px solid #e1e9f0;border-radius:18px;overflow:hidden;background:#fff}.kj-notice{display:grid;grid-template-columns:46px 1fr auto;gap:18px;padding:24px;border-bottom:1px solid #e9eff4}.kj-notice:last-child{border-bottom:0}.kj-notice.unread{background:linear-gradient(105deg,#f1f9fd,#fff);border-left:3px solid #0f8ca8;padding-left:21px}.kj-notice-icon{width:44px;height:44px;border-radius:14px;background:#e6f3fa;color:#12648c;display:grid;place-items:center;font-size:18px}.kj-notice h2{font-size:15px;font-weight:700;margin:0 0 8px;line-height:1.5}.kj-notice p{font-size:13px;color:#5d7183;line-height:1.7;max-width:750px;margin:0 0 8px;overflow-wrap:anywhere}.kj-notice time{font-size:11px;color:#748799}.kj-notice a{display:inline-block;font-size:12px;font-weight:650;margin-top:10px}.kj-unread-dot{display:inline-block;width:7px;height:7px;background:#0e91a8;border-radius:50%;margin-left:8px}.kj-empty{text-align:center;padding:65px 25px;color:#637c8e}.kj-empty i{font-size:34px;color:#1695ad;margin-bottom:18px}.kj-empty h2{font-size:20px;color:#18394f}
@keyframes kj-arrive{from{opacity:0;transform:translateY(10px)}to{opacity:1;transform:none}}
@media(max-width:600px){body :is(.btn,.btn-react,.btn-action){min-height:44px}body .modal-dialog{margin:12px}body .modal-content{border-radius:18px!important}body .modal-header,body .modal-body{padding:20px!important}body .modal-footer{padding:16px 20px!important}#live-toast{right:16px;bottom:16px}.kj-notice{grid-template-columns:38px 1fr;gap:12px;padding:18px}.kj-notice.unread{padding-left:15px}.kj-notice>form{grid-column:2}.kj-notice-icon{width:36px;height:36px;border-radius:11px}.kj-notice-toolbar form,.kj-notice-toolbar form button{width:100%}}
@media(prefers-reduced-motion:reduce){body *,body *::before,body *::after{animation:none!important;transition:none!important;scroll-behavior:auto!important}}
@media print{#live-toast,.kj-confirm{display:none!important}}

body :is(.toast,.toast-auto){border-radius:16px!important;border:1px solid #d8e5ed!important;box-shadow:0 14px 40px #173a5026!important}body .toast-header{padding:13px 16px;border-bottom:1px solid #e4edf3}body .toast-body{padding:16px;line-height:1.6}
.tutor-welcome{background:linear-gradient(120deg,#104b7b,#123c59);color:white;padding:30px;border-radius:20px;display:flex;align-items:center;justify-content:space-between;gap:24px;margin:24px 0 28px;border:1px solid #1e638b}.tutor-eyebrow{color:#89e0e9;font-size:10px;font-weight:700;letter-spacing:1.8px}.tutor-welcome h2{font-size:26px;font-weight:750;letter-spacing:-.6px;margin:12px 0}.tutor-welcome p{color:#d2e6f3;font-size:14px;line-height:1.7;max-width:660px;margin:0}.tutor-welcome .btn{flex-shrink:0}.tutor-tools{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:20px}.tutor-tool{background:#fff;border:1px solid #e0e9f0;border-radius:18px;padding:24px;display:flex;align-items:flex-start;flex-direction:column;box-shadow:0 4px 16px #19456706}.tutor-tool-top{display:flex;align-items:center;justify-content:space-between;gap:12px;width:100%;margin-bottom:20px}.tutor-tool-top small{font-size:9px;font-weight:700;letter-spacing:1px;color:#6a8092}.tutor-tool-icon{width:44px;height:44px;background:#e9f7fb;color:#087d97;display:grid;place-items:center;border-radius:13px;font-size:18px}.tutor-tool:nth-child(3n+2) .tutor-tool-icon{background:#fff0e5;color:#bd490b}.tutor-tool:nth-child(3n+3) .tutor-tool-icon{background:#ecf7ed;color:#247442}.tutor-tool h2{font-size:17px;font-weight:750;margin-bottom:10px}.tutor-tool p{color:#63798c;font-size:13px;line-height:1.7;flex:1;margin-bottom:20px}@media(max-width:1100px){.tutor-tools{grid-template-columns:repeat(2,minmax(0,1fr))}.tutor-welcome{flex-wrap:wrap}}@media(max-width:600px){.tutor-tools{grid-template-columns:1fr}.tutor-welcome{padding:24px}.tutor-welcome h2{font-size:23px}}
.ux-quick-actions{display:flex;gap:10px;flex-wrap:wrap;margin:22px 0}.ux-search-link{display:flex;align-items:center;gap:12px;text-decoration:none;color:#e5eef4}.ux-search-link kbd{background:#465c6b;border:1px solid #627989;border-radius:5px;padding:2px 8px}.ux-search-row{display:flex;gap:12px;margin-bottom:14px}.ux-search-row input{margin:0!important}.ux-search-row button{flex-shrink:0}.ux-checklist{list-style:none;padding:0;max-width:900px;margin:24px 0}.ux-checklist li{display:flex;align-items:center;gap:16px;background:white;border:1px solid #e0e8ef;border-radius:14px;padding:18px;margin:10px 0}.ux-checklist li>span{background:#edf3f8;color:#49677f;width:32px;height:32px;border-radius:50%;display:grid;place-items:center;flex-shrink:0}.ux-checklist .done>span{background:#e6f6e9;color:#207d40}.ux-checklist .current{border-color:#11a8bf;background:#f1fbfd}.ux-checklist a{font-weight:600;text-decoration:none}.ux-checklist small{margin-left:auto;color:#60798b;font-size:11px}.ux-draft{display:flex;align-items:center;gap:10px;flex-wrap:wrap;background:#edf7fb;border:1px solid #c9e5ed;padding:12px 16px;border-radius:12px;margin:8px 0 22px;font-size:12px;color:#245570}.ux-draft span{flex:1;min-width:180px}.ux-draft button[hidden]{display:none!important}.ux-mobile-nav{display:none}@media(max-width:760px){.ux-mobile-nav{position:fixed;bottom:0;left:0;right:0;display:flex;justify-content:space-around;background:#fff;border-top:1px solid #dce7ef;padding:9px 5px calc(9px + env(safe-area-inset-bottom));z-index:60;box-shadow:0 -5px 24px #122f4910}.ux-mobile-nav a{display:flex;flex-direction:column;align-items:center;gap:5px;font-size:10px;color:#567088;text-decoration:none;min-width:52px;padding:5px;border-radius:10px}.ux-mobile-nav a i{font-size:17px}.ux-mobile-nav a.active{background:#e9f5fb;color:#104b7b}.concept-content{padding-bottom:110px!important}.concept-sidebar{padding-bottom:110px}#live-toast{bottom:90px}.ux-search-row{flex-wrap:wrap}.ux-checklist li{flex-wrap:wrap;gap:12px}.ux-checklist small{margin-left:44px}}@media print{.ux-mobile-nav,.ux-quick-actions,.ux-draft{display:none!important}}
@media(max-width:760px){.concept-topbar .ux-search-link{display:none}.ux-quick-actions .btn{max-width:100%;white-space:normal}.concept-stats{grid-template-columns:repeat(2,minmax(0,1fr))}.concept-stat{min-width:0}.concept-stat b{overflow-wrap:anywhere}}
@media(max-width:600px){.concept-heading{flex-direction:column;align-items:stretch;gap:14px}.concept-heading>.btn{align-self:flex-start;white-space:nowrap}.ux-quick-actions{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px}.ux-quick-actions .btn{width:100%;font-size:11px;padding:10px 8px!important;gap:5px}}
