:root{--clr-primary: #4B6E9B;--clr-primary-dk: #3A5A84;--clr-primary-lt: #EBF0F8;--clr-success: #3D7A5B;--clr-success-dk: #2F6347;--clr-success-lt: #EBF5EF;--clr-danger: #B85C58;--clr-danger-dk: #9E4744;--clr-danger-lt: #FAEEEE;--clr-warning: #C59A3C;--clr-warning-dk: #A8822F;--clr-warning-lt: #FDF5E3;--clr-info: #3D7F9E;--clr-info-dk: #2F6A84;--clr-info-lt: #EBF4F8;--clr-bg: #F2F4F8;--clr-surface: #FFFFFF;--clr-border: #DDE2EC;--clr-border-lt: #EEF1F7;--clr-text: #2D3748;--clr-text-muted: #6B7A8E;--clr-text-light: #9BA8B5;--shadow-sm: 0 1px 3px rgba(45,55,72,.07), 0 1px 2px rgba(45,55,72,.05);--shadow-md: 0 4px 8px rgba(45,55,72,.08), 0 2px 4px rgba(45,55,72,.05);--shadow-lg: 0 10px 20px rgba(45,55,72,.08), 0 4px 8px rgba(45,55,72,.05);--radius-sm: 6px;--radius-md: 10px;--radius-lg: 14px;--transition: .18s ease}*,*:before,*:after{box-sizing:border-box}body{font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Helvetica Neue,Arial,Noto Sans Thai,sans-serif;background-color:var(--clr-bg);color:var(--clr-text);font-size:15px;line-height:1.6}h1,h2,h3,h4,h5,h6{color:var(--clr-text);font-weight:600;letter-spacing:-.01em}.btn{border-radius:var(--radius-sm);font-weight:500;font-size:.9rem;transition:all var(--transition)}.btn-sm{font-size:.82rem;padding:.3rem .7rem}.btn-primary{background-color:var(--clr-primary);border-color:var(--clr-primary);color:#fff}.btn-primary:hover,.btn-primary:focus,.btn-primary:active{background-color:var(--clr-primary-dk);border-color:var(--clr-primary-dk);color:#fff}.btn-success{background-color:var(--clr-success);border-color:var(--clr-success);color:#fff}.btn-success:hover,.btn-success:focus,.btn-success:active{background-color:var(--clr-success-dk);border-color:var(--clr-success-dk);color:#fff}.btn-danger{background-color:var(--clr-danger);border-color:var(--clr-danger);color:#fff}.btn-danger:hover,.btn-danger:focus{background-color:var(--clr-danger-dk);border-color:var(--clr-danger-dk)}.btn-secondary{background-color:#8795a8;border-color:#8795a8;color:#fff}.btn-secondary:hover{background-color:#6b7a8e;border-color:#6b7a8e}.btn-outline-primary{color:var(--clr-primary);border-color:var(--clr-primary)}.btn-outline-primary:hover{background-color:var(--clr-primary);border-color:var(--clr-primary);color:#fff}.btn-outline-success{color:var(--clr-success);border-color:var(--clr-success)}.btn-outline-success:hover{background-color:var(--clr-success);border-color:var(--clr-success);color:#fff}.btn-outline-info{color:var(--clr-info);border-color:var(--clr-info)}.btn-outline-info:hover{background-color:var(--clr-info);border-color:var(--clr-info);color:#fff}.btn-outline-light{color:#ffffffe6;border-color:#ffffff80}.btn-outline-light:hover{background-color:#ffffff26;color:#fff;border-color:#fffc}.text-primary{color:var(--clr-primary)!important}.text-success{color:var(--clr-success)!important}.text-danger{color:var(--clr-danger)!important}.text-warning{color:var(--clr-warning)!important}.text-info{color:var(--clr-info)!important}.text-muted{color:var(--clr-text-muted)!important}.bg-primary{background-color:var(--clr-primary)!important}.bg-success{background-color:var(--clr-success)!important}.bg-danger{background-color:var(--clr-danger)!important}.bg-warning{background-color:var(--clr-warning)!important}.bg-info{background-color:var(--clr-info)!important}.border-primary{border-color:var(--clr-primary)!important}.border-success{border-color:var(--clr-success)!important}.border-danger{border-color:var(--clr-danger)!important}.border-warning{border-color:var(--clr-warning)!important}.card{border:1px solid var(--clr-border);border-radius:var(--radius-md);box-shadow:var(--shadow-sm);background:var(--clr-surface)}.card-header{background-color:var(--clr-bg);border-bottom:1px solid var(--clr-border);font-weight:600;color:var(--clr-text);padding:.875rem 1rem;border-radius:var(--radius-md) var(--radius-md) 0 0!important}.shadow-sm{box-shadow:var(--shadow-sm)!important}.shadow{box-shadow:var(--shadow-md)!important}.shadow-lg{box-shadow:var(--shadow-lg)!important}.accordion-item{border:1px solid var(--clr-border);border-radius:var(--radius-sm)!important;margin-bottom:4px;overflow:hidden}.accordion-button{font-weight:500;color:var(--clr-text);background-color:var(--clr-surface);font-size:.9rem;box-shadow:none!important}.accordion-button:not(.collapsed){color:var(--clr-primary);background-color:var(--clr-primary-lt);box-shadow:none!important}.accordion-button:focus{box-shadow:none!important}.table{color:var(--clr-text);font-size:.9rem}.table thead th{font-weight:600;color:var(--clr-text-muted);border-bottom:2px solid var(--clr-border);font-size:.78rem;text-transform:uppercase;letter-spacing:.05em;padding:.6rem 1rem}.table tbody td{padding:.65rem 1rem;vertical-align:middle}.table-light{background-color:var(--clr-bg)!important}.table-hover tbody tr:hover{background-color:var(--clr-primary-lt)}.form-control,.form-select{border-color:var(--clr-border);color:var(--clr-text);border-radius:var(--radius-sm);font-size:.93rem;background-color:var(--clr-surface)}.form-control:focus,.form-select:focus{border-color:var(--clr-primary);box-shadow:0 0 0 3px #4b6e9b1f;outline:none}.form-control::placeholder{color:var(--clr-text-light)}.form-label{font-weight:500;font-size:.88rem;color:var(--clr-text);margin-bottom:.3rem}.input-group-text{background-color:var(--clr-bg);border-color:var(--clr-border);color:var(--clr-text-muted);font-size:.88rem}.modal-content{border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-lg)}.modal-header{border-bottom:1px solid var(--clr-border);padding:1rem 1.25rem}.modal-header .modal-title{font-weight:600;font-size:.98rem;color:var(--clr-text)}.modal-footer{border-top:1px solid var(--clr-border);padding:.875rem 1.25rem}.modal-body{padding:1.25rem}.modal-header.bg-success{background-color:var(--clr-success)!important;border-bottom:none;border-radius:var(--radius-lg) var(--radius-lg) 0 0}.alert{border-radius:var(--radius-sm);font-size:.9rem}.alert-success{background-color:var(--clr-success-lt);border-color:#b6daca;color:var(--clr-success-dk)}.alert-danger{background-color:var(--clr-danger-lt);border-color:#f2c0bf;color:var(--clr-danger-dk)}.alert-info{background-color:var(--clr-info-lt);border-color:#b9d9e8;color:var(--clr-info-dk)}.alert-warning{background-color:var(--clr-warning-lt);border-color:#e8d19a;color:var(--clr-warning-dk)}.badge.bg-primary{background-color:var(--clr-primary)!important}.badge.bg-success{background-color:var(--clr-success)!important}.badge.bg-danger{background-color:var(--clr-danger)!important}.badge.bg-warning{background-color:var(--clr-warning)!important;color:#fff!important}.badge.bg-info{background-color:var(--clr-info)!important}.site-header{background-color:var(--clr-surface);border-bottom:1px solid var(--clr-border);box-shadow:var(--shadow-sm)}.site-header .brand-name{font-size:1rem;font-weight:700;color:var(--clr-primary);letter-spacing:-.02em;text-decoration:none}body{padding-bottom:90px}.bottom-nav{z-index:1030;background-color:var(--clr-surface)!important;border-top:1px solid var(--clr-border)!important;box-shadow:0 -2px 8px #2d37480f}.bottom-nav .nav-link{color:var(--clr-text-light);border-radius:var(--radius-sm);font-size:.7rem;font-weight:500;transition:color var(--transition);padding:.35rem .5rem}.bottom-nav .nav-link i{display:block;font-size:1.35rem;margin-bottom:2px;transition:color var(--transition);color:var(--clr-text-light)}.bottom-nav .nav-link.active,.bottom-nav .nav-link.active i{color:var(--clr-primary)}.bottom-nav .nav-link:hover{background-color:var(--clr-primary-lt);color:var(--clr-primary)}.bottom-nav .nav-link:hover i{color:var(--clr-primary)}.welcome-section{background:var(--clr-surface);color:var(--clr-text);border:1px solid var(--clr-border);border-radius:var(--radius-lg);box-shadow:var(--shadow-sm);padding:2rem 1.5rem;margin-bottom:1.5rem;text-align:center}.welcome-section h2,.welcome-section h3{color:var(--clr-text)}.header-avatar{border:3px solid var(--clr-border)!important;box-shadow:0 4px 12px #0000001a!important}.page-title{font-size:1.2rem;font-weight:600;color:var(--clr-text);text-align:center;margin-bottom:1.25rem}.spinner-border{color:var(--clr-primary)}.fw-semibold{font-weight:600}
