:root{--bs-primary:#f06292;--color-brand-text:#c2185b;--bs-primary-rgb:240,98,146;--bs-secondary:#81c784;--bs-info:#4fc3f7;--bs-success:#66bb6a;--bs-warning:#ffb74d;--bs-danger:#ef5350;--color-brand:#f06292;--color-brand-soft:#fce4ec;--color-sage:#81c784;--color-sage-soft:#e8f5e9;--color-cream:#fff8e7;--color-navy:#1a3a52;--color-bg:#fafafa;--color-surface:#fff;--color-surface-2:#f5f5f7;--color-border:#e8e8ec;--color-border-strong:#d4d4dc;--color-text:#1f2937;--color-text-muted:#6b7280;--color-text-subtle:#9ca3af;--shadow-sm:0 1px 2px 0 rgba(0,0,0,.05);--shadow:0 1px 3px 0 rgba(0,0,0,.06),0 1px 2px -1px rgba(0,0,0,.06);--shadow-md:0 4px 12px -2px rgba(0,0,0,.08);--radius-sm:0.5rem;--radius:0.75rem;--radius-lg:1rem}body,html{background:var(--color-bg);color:var(--color-text);font-family:Nunito,DM Sans,system-ui,-apple-system,sans-serif;-webkit-font-smoothing:antialiased}a{text-decoration:none}a:hover{text-decoration:underline}.bg-brand-soft{background:var(--color-brand-soft)!important}.bg-sage-soft{background:var(--color-sage-soft)!important}.bg-cream{background:var(--color-cream)!important}.text-brand{color:var(--color-brand-text)!important}.text-sage{color:var(--color-sage)!important}.text-navy{color:var(--color-navy)!important}.card{border:1px solid var(--color-border);border-radius:var(--radius);box-shadow:var(--shadow-sm)}.card-header{background:transparent;border-bottom:1px solid var(--color-border);padding:1rem 1.25rem;font-weight:600}.card-body{padding:1.25rem}.btn-primary{background:var(--color-brand);border-color:var(--color-brand);font-weight:600}.btn-primary:focus,.btn-primary:hover{background:#e91e63;border-color:#e91e63}.btn-outline-primary{color:var(--color-brand);border-color:var(--color-brand);font-weight:600}.btn-outline-primary:hover{background:var(--color-brand);border-color:var(--color-brand)}.btn-lg{padding:.75rem 1.5rem;font-size:1rem;border-radius:999px}.btn{min-height:38px}@media (max-width:768px){.btn{min-height:44px;padding:.625rem 1rem}.btn-sm{min-height:36px}}.form-control,.form-select{border-color:var(--color-border-strong);border-radius:var(--radius-sm);padding:.625rem .875rem}.form-select{padding-right:2.25rem;background-position:right .75rem center}.form-select.form-select-sm{padding-right:2rem;background-position:right .5rem center}.form-control:focus,.form-select:focus{border-color:var(--color-brand);box-shadow:0 0 0 3px rgba(240,98,146,.15)}.form-label{font-weight:500;color:var(--color-text);font-size:.875rem;margin-bottom:.375rem}.badge{font-weight:500;padding:.35em .65em;border-radius:999px}.bg-label-primary{background:var(--color-brand-soft)!important;color:var(--color-brand)!important}.bg-label-success{background:#e8f5e9!important;color:#2e7d32!important}.bg-label-info{background:#e1f5fe!important;color:#0277bd!important}.bg-label-warning{background:#fff3e0!important;color:#e65100!important}.bg-label-danger{background:#ffebee!important;color:#c62828!important}.bg-label-secondary{background:#f5f5f5!important;color:#616161!important}.table{--bs-table-color:var(--color-text);--bs-table-border-color:var(--color-border);margin-bottom:0}.table thead th{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);background:var(--color-surface-2);border-bottom:1px solid var(--color-border)}.table tbody tr:hover{background:rgba(240,98,146,.03)}.app-layout{display:flex;min-height:100vh}.app-sidebar{width:260px;background:var(--color-surface);border-right:1px solid var(--color-border);position:fixed;inset:0 auto 0 0;z-index:1040;overflow-y:auto;transition:transform .2s ease}.app-main{flex:1 1;min-width:0;margin-left:260px;display:flex;flex-direction:column}.app-navbar{background:var(--color-surface);border-bottom:1px solid var(--color-border);padding:.75rem 1.25rem;position:-webkit-sticky;position:sticky;top:0;z-index:100}.app-content{padding:1.5rem;flex:1 1;min-width:0;max-width:100%;overflow-x:auto}@media (max-width:1199px){.app-sidebar{transform:translateX(-100%)}.app-sidebar.open{transform:translateX(0)}.app-main{margin-left:0}.app-overlay{position:fixed;inset:0;background:rgba(0,0,0,.4);z-index:1039;opacity:0;visibility:hidden;transition:opacity .2s ease,visibility .2s ease}.app-overlay.open{opacity:1;visibility:visible}}@media (min-width:769px) and (max-width:1199.98px){.stat-card{padding:1rem}.stat-card .stat-label{font-size:.68rem;letter-spacing:.02em}.stat-card .stat-value{font-size:clamp(1.05rem,2vw,1.35rem);line-height:1.2;white-space:nowrap;overflow-wrap:normal;word-break:normal}.table-responsive .table{font-size:.88rem}}@media (max-width:768px){.app-content{padding:1rem}.stat-card{padding:.9rem}.stat-card .stat-label{font-size:.68rem;letter-spacing:.02em}.app-content h2{font-size:1.35rem}.table-responsive .table{font-size:.85rem}.table-responsive .table td,.table-responsive .table th{padding:.4rem .5rem;white-space:nowrap}}.nav-item-link{display:flex;align-items:center;gap:.75rem;padding:.625rem 1rem;margin:.125rem .625rem;color:var(--color-text-muted);border-radius:var(--radius-sm);font-size:.9rem;font-weight:500;text-decoration:none;transition:all .15s}.nav-item-link:hover{background:var(--color-surface-2);color:var(--color-text);text-decoration:none}.nav-item-link.active{background:var(--color-brand-soft);color:var(--color-brand)}.nav-item-link i{font-size:1.25rem}.nav-section-title{padding:.75rem 1.25rem .375rem;font-size:.7rem;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--color-text-subtle)}.hero-bg{background:radial-gradient(ellipse at 30% 20%,rgba(240,98,146,.12),transparent 60%),radial-gradient(ellipse at 75% 60%,rgba(129,199,132,.1),transparent 60%),var(--color-cream)}.brand-logo{width:36px;height:36px;border-radius:50%;background:var(--color-brand);color:#fff;display:inline-flex;align-items:center;justify-content:center;font-weight:700;font-size:1rem}.stat-card{padding:1.25rem;border-radius:var(--radius);background:var(--color-surface);border:1px solid var(--color-border)}.stat-card .stat-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.04em;color:var(--color-text-muted);margin-bottom:.25rem}.stat-card .stat-value{font-size:clamp(1.05rem,4.2vw,1.75rem);font-weight:700;color:var(--color-text);line-height:1.15;overflow-wrap:anywhere;word-break:break-word}.stat-card .stat-icon{width:44px;height:44px;border-radius:var(--radius-sm);display:inline-flex;align-items:center;justify-content:center;font-size:1.5rem}.service-card{border:1px solid var(--color-border);border-radius:var(--radius);padding:1.5rem;background:var(--color-surface);transition:all .2s;height:100%}.service-card:hover{transform:translateY(-3px);border-color:var(--color-brand);box-shadow:var(--shadow-md)}.service-icon{width:56px;height:56px;border-radius:var(--radius);display:inline-flex;align-items:center;justify-content:center;font-size:1.75rem;margin-bottom:1rem}.mkt-nav{background:hsla(0,0%,100%,.8);-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);border-bottom:1px solid var(--color-border);position:-webkit-sticky;position:sticky;top:0;z-index:100}.accordion-button:not(.collapsed){background:var(--color-brand-soft);color:var(--color-brand);font-weight:600}.accordion-button:focus{box-shadow:0 0 0 3px rgba(240,98,146,.15)}.container-narrow{max-width:980px;margin-inline:auto}.container-tight{max-width:700px;margin-inline:auto}.step-pill{width:56px;height:56px;background:var(--color-brand);color:#fff;font-size:1.5rem;font-weight:700;margin-bottom:1rem}.avatar,.step-pill{display:inline-flex;align-items:center;justify-content:center;border-radius:50%}.avatar{background:var(--color-surface-2);color:var(--color-text);font-weight:600;flex-shrink:0}.avatar-sm{width:32px;height:32px;font-size:.75rem}.avatar-md{width:40px;height:40px;font-size:.875rem}.avatar-lg{width:56px;height:56px;font-size:1rem}.select-card{border:2px solid var(--color-border);border-radius:var(--radius);transition:border-color .15s,box-shadow .15s,background .15s}.select-card-input:focus-visible+.select-card{box-shadow:0 0 0 3px rgba(240,98,146,.15)}.select-card-input:checked+.select-card{border-color:var(--color-brand);background:var(--color-brand-soft)}.select-card-input:checked+.select-card .select-card-check{opacity:1}.select-card-check{opacity:0;color:var(--color-brand);transition:opacity .15s}.empty-state{padding:3rem 1.5rem;text-align:center;color:var(--color-text-muted)}.empty-state i{font-size:3rem;display:block;margin-bottom:1rem;opacity:.5}.skeleton{position:relative;overflow:hidden;background:var(--color-surface-2);background-image:linear-gradient(90deg,var(--color-surface-2) 0,#ececf1 20%,var(--color-brand-soft) 50%,#ececf1 80%,var(--color-surface-2) 100%);background-size:200% 100%;animation:skeleton-shimmer 1.4s ease-in-out infinite;vertical-align:middle}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.brand-spinner{display:inline-block;border:3px solid var(--color-brand-soft);border-top-color:var(--color-brand);border-radius:50%;animation:brand-spin .7s linear infinite}@keyframes brand-spin{to{transform:rotate(1turn)}}.page-loader{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:1rem;padding:4rem 1rem;color:var(--color-text-muted)}.page-loader .brand-spinner{width:40px;height:40px;border-width:4px}@media (prefers-reduced-motion:reduce){.brand-spinner,.skeleton{animation-duration:.01ms;animation-iteration-count:1}}.stat-card{transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease}.stat-card:hover{transform:translateY(-2px);box-shadow:var(--shadow-md);border-color:var(--color-brand)}.stat-card .stat-trend{font-size:.75rem;font-weight:600}.stat-card .stat-trend.up{color:#2e7d32}.stat-card .stat-trend.down{color:#c62828}.page-header h2{margin-bottom:.25rem}.page-header .page-sub{color:var(--color-text-muted);font-size:.875rem;margin:0}.fade-in{animation:fade-in .28s ease both}@keyframes fade-in{0%{opacity:0}to{opacity:1}}@media (prefers-reduced-motion:reduce){.fade-in{animation:none}}.nav-pills .nav-link.active,.nav-pills .show>.nav-link{background-color:var(--color-brand)!important;color:#fff!important}.nav-pills .nav-link{color:var(--color-brand)}.nav-pills .nav-link:hover:not(.active){background-color:var(--color-brand-soft)}.payroll-table .form-control,.payroll-table .form-control-sm{min-width:72px;width:100%}.payroll-table td,.payroll-table th{vertical-align:middle}@media (max-width:768px){.page-header h2{font-size:1.35rem}.payroll-table{font-size:.8rem}.payroll-filter .col-auto{flex:1 1 45%}.payroll-filter .col-auto .form-select{width:100%}}.cal-table th{vertical-align:middle}.cal-sticky-col{position:-webkit-sticky;position:sticky;left:0;z-index:2;box-shadow:1px 0 0 rgba(0,0,0,.06)}.cal-chip{display:block;width:100%;text-align:left;border:none;border-radius:6px;padding:3px 6px;margin-bottom:4px;font-size:11px;line-height:1.25;cursor:pointer;transition:filter .12s ease,transform .12s ease}.cal-chip:hover{filter:brightness(.95);transform:translateY(-1px)}.cal-chip:focus-visible{outline:2px solid #4338ca;outline-offset:1px}.cal-modal-backdrop{position:fixed;inset:0;background:rgba(15,23,42,.45);display:flex;align-items:center;justify-content:center;z-index:1050;padding:1rem}.cal-modal{width:100%;max-width:420px;background:#fff;border-radius:12px;animation:cal-pop .14s ease}@keyframes cal-pop{0%{opacity:0;transform:scale(.96)}to{opacity:1;transform:scale(1)}}@media (prefers-reduced-motion:reduce){.cal-modal{animation:none}.cal-chip{transition:none}}.honor-tabs{border-bottom:1px solid var(--color-border);gap:0;overflow-x:auto;scrollbar-width:none}.honor-tabs::-webkit-scrollbar{display:none}.honor-tab-btn{display:flex;align-items:center;gap:.4rem;padding:.85rem 1.25rem;background:none;border:none;border-bottom:2px solid transparent;color:var(--color-text-muted);font-size:.875rem;font-weight:500;white-space:nowrap;cursor:pointer;transition:color .15s,border-color .15s;margin-bottom:-1px}.honor-tab-btn:hover{color:var(--color-text)}.honor-tab-btn.active{color:var(--color-brand);border-bottom-color:var(--color-brand);font-weight:600}.honor-tab-btn i{font-size:1.1rem}.honor-tab-badge{display:inline-flex;align-items:center;justify-content:center;min-width:20px;height:20px;padding:0 5px;background:var(--color-surface-2);border-radius:999px;font-size:.7rem;font-weight:600;color:var(--color-text-muted);margin-left:.15rem}.honor-tab-btn.active .honor-tab-badge{background:var(--color-brand-soft);color:var(--color-brand)}@media (max-width:575px){.honor-tab-btn{padding:.75rem .875rem;font-size:.8rem}.honor-tab-label{display:none}.honor-tab-btn i{font-size:1.25rem}}@media (max-width:991.98px){.dt-responsive thead{position:absolute;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}.dt-responsive,.dt-responsive tbody,.dt-responsive td,.dt-responsive tr{display:block;width:100%}.dt-responsive tr{margin-bottom:.75rem;border:1px solid #e9e7f3;border-radius:12px;padding:.25rem .75rem;background:#fff;box-shadow:0 1px 3px rgba(0,0,0,.04)}.dt-responsive td{display:flex;justify-content:space-between;align-items:center;gap:.75rem;text-align:right;padding:.45rem 0;border:0;border-bottom:1px solid #f1f0f7;white-space:normal}.dt-responsive td,.dt-responsive td>*{word-break:break-word;overflow-wrap:anywhere}.dt-responsive td>*{min-width:0;max-width:100%}.dt-responsive tr td:last-child{border-bottom:0}.dt-responsive td:before{content:attr(data-label);font-size:.7rem;text-transform:uppercase;letter-spacing:.02em;color:#8a849e;font-weight:600;flex:0 0 auto;min-width:70px;text-align:left}.dt-responsive td[data-label=""]:before{content:none}.dt-responsive td[data-label=""]{justify-content:flex-end;text-align:right;flex-wrap:wrap;gap:.35rem;padding:.5rem 0}.dt-responsive td[data-label=""]>*{min-width:0;width:auto;flex-shrink:0}.dt-responsive td[data-label=""]>div{display:flex;flex-wrap:wrap;gap:.35rem;justify-content:flex-end;width:100%}.dt-scroll{overflow-x:visible}}@media (min-width:992px){.dt-responsive{table-layout:fixed;width:100%;min-width:700px}.dt-responsive td,.dt-responsive th{overflow-wrap:anywhere;word-break:break-word}.dt-scroll{overflow-x:auto}}.modal-dialog-scrollable .modal-body{max-height:calc(100dvh - 200px);overflow-y:auto}@media (max-height:750px){.modal-dialog-scrollable .modal-body{max-height:calc(100dvh - 160px)}.modal-dialog-centered{align-items:flex-start;padding-top:1rem}}