.header{display:flex;align-items:center;justify-content:space-between;padding:var(--space-sm) var(--space-md);background:var(--mhs-red);color:var(--mhs-white);min-height:56px;position:sticky;top:0;z-index:100}.header__left{display:flex;align-items:center}.header__brand{display:flex;align-items:center;gap:var(--space-sm);color:var(--mhs-white);text-decoration:none}.header__logo{height:36px;width:auto}.header__title{font-family:var(--font-heading);font-size:1.125rem;font-weight:700}.header__right{display:flex;align-items:center;gap:var(--space-md);font-size:.875rem}.header__link{color:var(--mhs-white);opacity:.9;font-weight:600;padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);transition:opacity .15s}.header__link:hover{opacity:1}.header__guard{opacity:.8;display:none}@media (min-width: 480px){.header__guard{display:inline}}.header__logout{background:#ffffff26;color:var(--mhs-white);padding:var(--space-xs) var(--space-sm);border-radius:var(--radius-sm);font-size:.8rem;font-weight:600;transition:background .15s}.header__logout:hover{background:#ffffff40}.login-page{display:flex;justify-content:center;align-items:center;min-height:100dvh;padding:var(--space-md)}.login-card{width:100%;max-width:400px;background:var(--mhs-white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:0 2px 12px #00000014;text-align:center}.login-logo{width:100px;height:auto;margin-bottom:var(--space-md)}.login-title{font-size:1.5rem;color:var(--mhs-blue);margin-bottom:var(--space-xl)}.btn-sso{display:block;width:100%;padding:.875rem;background:var(--mhs-blue);color:var(--mhs-white);border-radius:var(--radius-md);font-weight:600;font-size:1rem;text-align:center;transition:background .15s}.btn-sso:hover{background:var(--mhs-blue-dark)}.login-divider{display:flex;align-items:center;gap:var(--space-md);margin:var(--space-lg) 0;color:var(--mhs-grey);font-size:.875rem}.login-divider:before,.login-divider:after{content:"";flex:1;height:1px;background:var(--mhs-grey-light)}.login-form{text-align:left}.login-form label{display:block;font-size:.875rem;font-weight:600;margin-bottom:var(--space-xs);color:#333}.login-form input{display:block;width:100%;padding:.75rem;border:1px solid var(--mhs-grey-light);border-radius:var(--radius-md);margin-bottom:var(--space-md);transition:border-color .15s}.login-form input:focus{outline:none;border-color:var(--mhs-blue);box-shadow:0 0 0 3px #23346a1a}.login-error{background:var(--color-error-bg);color:var(--color-error);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md);font-size:.875rem}.btn-login{width:100%;padding:.75rem;background:var(--mhs-grey);color:var(--mhs-white);border-radius:var(--radius-md);font-weight:600;transition:background .15s}.btn-login:hover:not(:disabled){background:#8a8c8f}.btn-login:disabled{opacity:.6}.lookup-page{display:flex;justify-content:center;padding:var(--space-xl) var(--space-md)}.lookup-card{width:100%;max-width:480px;background:var(--mhs-white);border-radius:var(--radius-lg);padding:var(--space-xl);box-shadow:0 1px 4px #0000000f}.lookup-heading{font-size:1.5rem;color:var(--mhs-blue);margin-bottom:var(--space-xs)}.lookup-subtitle{color:#666;margin-bottom:var(--space-lg);font-size:.9rem}.lookup-form{display:flex;flex-direction:column;gap:var(--space-md)}.lookup-input{padding:1rem;border:2px solid var(--mhs-grey-light);border-radius:var(--radius-md);font-size:1.25rem;text-align:center;letter-spacing:.05em;transition:border-color .15s}.lookup-input:focus{outline:none;border-color:var(--mhs-blue);box-shadow:0 0 0 3px #23346a1a}.btn-lookup{padding:1rem;background:var(--mhs-blue);color:var(--mhs-white);border-radius:var(--radius-md);font-weight:600;font-size:1.1rem;transition:background .15s}.btn-lookup:hover:not(:disabled){background:var(--mhs-blue-dark)}.btn-lookup:disabled{opacity:.6}.lookup-error{background:var(--color-error-bg);color:var(--color-error);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);font-size:.875rem}.student-card{display:flex;flex-direction:column;align-items:center;gap:var(--space-md);padding:var(--space-lg);background:var(--mhs-white);border-radius:var(--radius-lg);box-shadow:0 1px 4px #0000000f}.student-card__photo{width:160px;height:160px;border-radius:var(--radius-full);object-fit:cover;object-position:top;border:3px solid var(--mhs-grey-light)}.student-card__info{text-align:center}.student-card__name{font-size:1.375rem;color:var(--mhs-blue);margin-bottom:var(--space-xs)}.student-card__details{color:#666;font-size:.9rem}.student-card__sep{margin:0 var(--space-xs);color:var(--mhs-grey-light)}.student-card--compact{flex-direction:row;padding:var(--space-md)}.student-card--compact .student-card__photo{width:64px;height:64px}.student-card--compact .student-card__info{text-align:left}.student-card--compact .student-card__name{font-size:1.1rem}.toast{position:fixed;top:72px;left:50%;transform:translate(-50%);padding:var(--space-sm) var(--space-lg);border-radius:var(--radius-md);font-weight:600;font-size:.9rem;z-index:1000;box-shadow:0 4px 16px #00000026;transition:opacity .3s,transform .3s;max-width:90vw;text-align:center}.toast--show{opacity:1;transform:translate(-50%) translateY(0)}.toast--hide{opacity:0;transform:translate(-50%) translateY(-10px)}.toast--success{background:var(--color-success);color:var(--mhs-white)}.toast--error{background:var(--color-error);color:var(--mhs-white)}.toast--warning{background:var(--color-warning);color:var(--mhs-white)}.verify-page{max-width:480px;margin:0 auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.verify-leave__heading{font-size:1.1rem;color:var(--mhs-blue);margin-bottom:var(--space-sm)}.leave-card{background:var(--mhs-white);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:0 1px 4px #0000000f}.leave-card__type{font-weight:700;font-size:1rem;color:var(--mhs-blue);margin-bottom:var(--space-sm);padding-bottom:var(--space-sm);border-bottom:1px solid var(--mhs-grey-light)}.leave-card__row{display:flex;justify-content:space-between;padding:var(--space-xs) 0;font-size:.9rem}.leave-card__label{color:#666;font-weight:600}.leave-card__row a{color:var(--mhs-blue)}.verify-warning{background:var(--color-error-bg);color:var(--color-error);padding:var(--space-md);border-radius:var(--radius-md);font-weight:600;text-align:center;border:2px solid var(--color-error)}.verify-actions{display:flex;flex-direction:column;gap:var(--space-sm);padding-bottom:var(--space-xl)}.btn-authorise{width:100%;padding:1rem;background:var(--mhs-blue);color:var(--mhs-white);border-radius:var(--radius-md);font-weight:700;font-size:1.1rem;transition:background .15s}.btn-authorise:hover:not(:disabled){background:var(--mhs-blue-dark)}.btn-authorise:disabled{opacity:.6}.btn-deny{width:100%;padding:.75rem;background:transparent;color:var(--mhs-red);border:2px solid var(--mhs-red);border-radius:var(--radius-md);font-weight:600;font-size:.95rem;transition:background .15s,color .15s}.btn-deny:hover{background:var(--color-error-bg)}.btn-back{width:100%;padding:1rem;background:var(--mhs-blue);color:var(--mhs-white);border-radius:var(--radius-md);font-weight:700;font-size:1.1rem;transition:background .15s}.btn-back:hover{background:var(--mhs-blue-dark)}.deny-page{max-width:480px;margin:0 auto;padding:var(--space-md);display:flex;flex-direction:column;gap:var(--space-md)}.deny-form{background:var(--mhs-white);border-radius:var(--radius-lg);padding:var(--space-lg);box-shadow:0 1px 4px #0000000f}.deny-form__heading{font-size:1.1rem;color:var(--mhs-blue);margin-bottom:var(--space-md)}.deny-reasons{display:flex;flex-direction:column;gap:var(--space-sm);margin-bottom:var(--space-md)}.deny-reason{display:flex;align-items:center;gap:var(--space-sm);padding:var(--space-sm) var(--space-md);border:2px solid var(--mhs-grey-light);border-radius:var(--radius-md);cursor:pointer;transition:border-color .15s,background .15s}.deny-reason:hover{border-color:var(--mhs-grey)}.deny-reason--selected{border-color:var(--mhs-red);background:var(--color-error-bg)}.deny-reason input[type=radio]{accent-color:var(--mhs-red);width:18px;height:18px}.deny-notes{width:100%;padding:var(--space-sm);border:2px solid var(--mhs-grey-light);border-radius:var(--radius-md);font-family:var(--font-body);font-size:.9rem;resize:vertical;margin-bottom:var(--space-md)}.deny-notes:focus{outline:none;border-color:var(--mhs-red)}.deny-actions{display:flex;flex-direction:column;gap:var(--space-sm)}.btn-confirm-deny{width:100%;padding:.875rem;background:var(--mhs-red);color:var(--mhs-white);border-radius:var(--radius-md);font-weight:700;font-size:1rem;transition:background .15s}.btn-confirm-deny:hover:not(:disabled){background:var(--mhs-red-dark)}.btn-confirm-deny:disabled{opacity:.5}.btn-cancel{width:100%;padding:.75rem;background:transparent;color:#666;border:1px solid var(--mhs-grey-light);border-radius:var(--radius-md);font-weight:600}.btn-cancel:hover{background:var(--mhs-bg)}.log-page{max-width:600px;margin:0 auto;padding:var(--space-md)}.log-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);flex-wrap:wrap;gap:var(--space-sm)}.log-heading{font-size:1.375rem;color:var(--mhs-blue)}.log-datepicker{padding:var(--space-sm) var(--space-md);border:1px solid var(--mhs-grey-light);border-radius:var(--radius-md);font-size:.9rem}.log-toggle{display:flex;background:var(--mhs-grey-light);border-radius:9999px;padding:3px;margin-bottom:var(--space-md)}.log-toggle__btn{flex:1;padding:var(--space-xs) var(--space-md);border-radius:9999px;font-size:.85rem;font-weight:600;background:transparent;color:#666;transition:all .2s ease}.log-toggle__btn--active{background:var(--mhs-white);color:var(--mhs-blue);box-shadow:0 1px 3px #0000001f}.log-count{font-size:.85rem;color:#666;margin-bottom:var(--space-sm)}.log-error{background:var(--color-error-bg);color:var(--color-error);padding:var(--space-sm) var(--space-md);border-radius:var(--radius-sm);margin-bottom:var(--space-md)}.log-loading,.log-empty{text-align:center;color:#666;padding:var(--space-xl)}.log-list{display:flex;flex-direction:column;gap:var(--space-sm)}.log-entry{background:var(--mhs-white);border-radius:var(--radius-md);padding:var(--space-md);box-shadow:0 1px 3px #0000000d;border-left:4px solid var(--color-success)}.log-entry--denied{border-left-color:var(--color-error)}.log-entry__top{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--space-xs)}.log-entry__name{font-weight:700;font-size:.95rem}.log-entry__badge{font-size:.75rem;font-weight:700;padding:2px 8px;border-radius:var(--radius-sm);text-transform:uppercase;letter-spacing:.03em}.log-entry__badge--authorised{background:var(--color-success-bg);color:var(--color-success)}.log-entry__badge--denied{background:var(--color-error-bg);color:var(--color-error)}.log-entry__details{display:flex;gap:var(--space-md);font-size:.8rem;color:#666}.log-entry__reason{margin-top:var(--space-xs);font-size:.8rem;color:var(--color-error);font-style:italic}.log-pagination{display:flex;justify-content:center;align-items:center;gap:var(--space-md);margin-top:var(--space-lg);font-size:.875rem}.log-pagination button{padding:var(--space-xs) var(--space-md);background:var(--mhs-white);border:1px solid var(--mhs-grey-light);border-radius:var(--radius-sm);font-size:.85rem}.log-pagination button:disabled{opacity:.4;cursor:default}.log-pagination button:not(:disabled):hover{background:var(--mhs-bg)}:root{--mhs-red: #e13a3e;--mhs-red-dark: #c4292d;--mhs-blue: #23346a;--mhs-blue-dark: #1a2750;--mhs-white: #ffffff;--mhs-grey: #a7a9ac;--mhs-grey-light: #d1d3d4;--mhs-bg: #f4f5f7;--color-success: #2e7d32;--color-success-bg: #e8f5e9;--color-warning: #f57c00;--color-warning-bg: #fff3e0;--color-error: #e13a3e;--color-error-bg: #fce4ec;--font-heading: "Orpheus Pro", Georgia, "Times New Roman", serif;--font-body: "Franklin Gothic Medium", -apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, sans-serif;--space-xs: .25rem;--space-sm: .5rem;--space-md: 1rem;--space-lg: 1.5rem;--space-xl: 2rem;--radius-sm: 4px;--radius-md: 8px;--radius-lg: 12px;--radius-full: 50%}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}html{font-size:16px;-webkit-text-size-adjust:100%}body{font-family:var(--font-body);background:var(--mhs-bg);color:#1a1a1a;line-height:1.5;min-height:100dvh}h1,h2,h3,h4,h5,h6{font-family:var(--font-heading);font-weight:700;line-height:1.2}a{color:var(--mhs-blue);text-decoration:none}button{font-family:var(--font-body);cursor:pointer;border:none;font-size:1rem}input,select,textarea{font-family:var(--font-body);font-size:1rem}
