:root{--brand-primary:#1f7a8c;--brand-primary-rgb:31,122,140;--brand-primary-hover:#196676;--brand-primary-active:#145663;--brand-dark:#022b3a;--brand-dark-rgb:2,43,58;--brand-light:#bfdbf7;--brand-bg:#e1e5f2;--brand-white:#fff;--ink-900:#022b3a;--ink-700:#1d3d49;--ink-500:#4b6470;--ink-400:#6b8290;--ink-300:#9fb2bd;--surface-border:#dbe2ee;--surface-soft:#f3f6fb;--bs-primary:var(--brand-primary);--bs-primary-rgb:var(--brand-primary-rgb);--bs-primary-text-emphasis:var(--brand-dark);--bs-primary-bg-subtle:#e3f0f3;--bs-primary-border-subtle:#bfe0e6;--bs-link-color:var(--brand-primary);--bs-link-color-rgb:var(--brand-primary-rgb);--bs-link-hover-color:var(--brand-dark);--bs-link-hover-color-rgb:var(--brand-dark-rgb);--bs-body-bg:var(--brand-bg);--bs-body-color:var(--ink-700);--bs-secondary-color:var(--ink-500);--bs-emphasis-color:var(--ink-900);--bs-heading-color:var(--ink-900);--bs-border-color:var(--surface-border);--bs-border-radius-sm:0.5rem;--bs-border-radius:0.75rem;--bs-border-radius-lg:1rem;--bs-border-radius-xl:1.25rem;--shadow-xs:0 1px 2px rgba(2,43,58,.06);--shadow-sm:0 1px 3px rgba(2,43,58,.07),0 1px 2px rgba(2,43,58,.04);--shadow-md:0 4px 16px rgba(2,43,58,.08);--shadow-lg:0 12px 32px rgba(2,43,58,.12);--bs-body-font-family:"Inter",system-ui,-apple-system,"Segoe UI",Roboto,sans-serif;--bs-body-font-size:0.95rem;--bs-body-line-height:1.6;--transition:0.18s ease}body{min-height:100vh;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility;background-color:var(--brand-bg)}.h1,.h2,.h3,.h4,.h5,.h6,h1,h2,h3,h4,h5,h6{color:var(--ink-900);font-weight:700;letter-spacing:-.015em}.text-secondary{color:var(--ink-500)!important}a{text-decoration:none;transition:color var(--transition)}::selection{background:var(--brand-light);color:var(--brand-dark)}.surface{background:var(--brand-white);border:1px solid var(--surface-border);border-radius:var(--bs-border-radius-lg)}.btn{--bs-btn-font-weight:600;--bs-btn-border-radius:var(--bs-border-radius);--bs-btn-padding-y:0.5rem;--bs-btn-padding-x:1rem;letter-spacing:-.01em;transition:background-color var(--transition),border-color var(--transition),box-shadow var(--transition),transform var(--transition)}.btn:active{transform:translateY(1px)}.btn-primary{--bs-btn-bg:var(--brand-primary);--bs-btn-border-color:var(--brand-primary);--bs-btn-hover-bg:var(--brand-primary-hover);--bs-btn-hover-border-color:var(--brand-primary-hover);--bs-btn-active-bg:var(--brand-primary-active);--bs-btn-active-border-color:var(--brand-primary-active);--bs-btn-disabled-bg:var(--brand-primary);--bs-btn-disabled-border-color:var(--brand-primary);box-shadow:var(--shadow-xs)}.btn-outline-primary{--bs-btn-color:var(--brand-primary);--bs-btn-border-color:#b9d6dc;--bs-btn-hover-bg:var(--brand-primary);--bs-btn-hover-border-color:var(--brand-primary);--bs-btn-active-bg:var(--brand-primary-active);--bs-btn-active-border-color:var(--brand-primary-active)}.btn-success{--bs-btn-bg:#1f8c6a;--bs-btn-border-color:#1f8c6a;--bs-btn-hover-bg:#1a7a5c;--bs-btn-hover-border-color:#1a7a5c}.btn-link{--bs-btn-color:var(--brand-primary);--bs-btn-hover-color:var(--brand-dark);text-decoration:none}.btn:focus-visible{box-shadow:0 0 0 .2rem rgba(var(--brand-primary-rgb),.3)}.btn-action{--size:2rem;display:inline-flex;align-items:center;justify-content:center;width:var(--size);height:var(--size);padding:0;border-radius:50%;border:1px solid transparent;background:var(--surface-soft);color:var(--ink-500);font-size:.95rem;line-height:1;cursor:pointer;text-decoration:none;transition:background-color var(--transition),color var(--transition)}.btn-action.disabled,.btn-action:disabled{opacity:.5;pointer-events:none}.btn-action:focus-visible{outline:none;box-shadow:0 0 0 .2rem rgba(var(--brand-primary-rgb),.22)}.btn-action-complete,.btn-action-edit{background:rgba(var(--brand-primary-rgb),.12);color:var(--brand-primary)}.btn-action-complete:hover,.btn-action-edit:hover{background:rgba(var(--brand-primary-rgb),.2)}.btn-action-confirm{background:#e2f3ec;color:#1a7a5c}.btn-action-confirm:hover{background:#d2ecdf}.btn-action-delete,.btn-action-reject{background:#fbe4e4;color:#b23838}.btn-action-delete:hover,.btn-action-reject:hover{background:#f6d3d3}.btn-action-cancel{background:#e9eef5;color:var(--ink-500)}.btn-action-cancel:hover{background:#dce3ee}.card{--bs-card-border-color:var(--surface-border);--bs-card-border-radius:var(--bs-border-radius-lg);--bs-card-inner-border-radius:calc(var(--bs-border-radius-lg) - 1px);--bs-card-bg:var(--brand-white);box-shadow:var(--shadow-sm)}.card-hover{transition:transform var(--transition),box-shadow var(--transition),border-color var(--transition)}.card-hover:hover{transform:translateY(-3px);box-shadow:var(--shadow-md);border-color:#cdd9e8}.app-navbar{background:hsla(0,0%,100%,.85);-webkit-backdrop-filter:saturate(180%) blur(10px);backdrop-filter:saturate(180%) blur(10px);border-bottom:1px solid var(--surface-border)}.app-navbar .navbar-brand{font-weight:800;letter-spacing:-.03em;color:var(--brand-dark);display:inline-flex;align-items:center;gap:.5rem}.app-navbar .nav-link{color:var(--ink-500);font-weight:500;border-radius:var(--bs-border-radius-sm);padding:.4rem .75rem;transition:color var(--transition),background-color var(--transition)}.app-navbar .nav-link:hover{color:var(--brand-dark);background:var(--surface-soft)}.app-navbar .nav-link.active{color:var(--brand-primary);font-weight:600}.app-sidebar{position:-webkit-sticky;position:sticky;top:1.5rem}.app-sidebar .nav-link{color:var(--ink-500);font-weight:500;border-radius:var(--bs-border-radius);padding:.6rem .85rem;display:flex;align-items:center;gap:.65rem;transition:color var(--transition),background-color var(--transition)}.app-sidebar .nav-link:hover{background:var(--surface-soft);color:var(--brand-dark)}.app-sidebar .nav-link.active{background:rgba(var(--brand-primary-rgb),.1);color:var(--brand-primary);font-weight:600}.app-sidebar .nav-link i{font-size:1.05rem}.form-label{font-weight:600;color:var(--ink-700);margin-bottom:.35rem;font-size:.875rem}.form-control,.form-select{border-color:var(--surface-border);border-radius:var(--bs-border-radius);padding:.55rem .85rem;background-color:var(--brand-white);transition:border-color var(--transition),box-shadow var(--transition)}.form-control::placeholder{color:var(--ink-300)}.form-control:focus,.form-select:focus{border-color:var(--brand-primary);box-shadow:0 0 0 .2rem rgba(var(--brand-primary-rgb),.18)}.form-check-input:checked{background-color:var(--brand-primary);border-color:var(--brand-primary)}.form-check-input:focus{border-color:var(--brand-primary);box-shadow:0 0 0 .2rem rgba(var(--brand-primary-rgb),.18)}.input-group-text{background:var(--surface-soft);border-color:var(--surface-border)}.table{--bs-table-bg:transparent;--bs-table-border-color:var(--surface-border);vertical-align:middle}.table>thead{--bs-table-color:var(--ink-500)}.table>thead th{font-size:.75rem;text-transform:uppercase;letter-spacing:.04em;font-weight:600;color:var(--ink-400);border-bottom:1px solid var(--surface-border)}.table>tbody td,.table>thead th{padding-top:.85rem;padding-bottom:.85rem}.table-hover>tbody>tr{transition:background-color var(--transition)}.table-hover>tbody>tr:hover>*{--bs-table-bg-state:var(--surface-soft)}.table-card{background:var(--brand-white);border:1px solid var(--surface-border);border-radius:var(--bs-border-radius-lg);box-shadow:var(--shadow-sm);overflow:hidden}.table-card .table{margin-bottom:0}.table-card .table>:not(caption)>*>*{padding-left:1.1rem;padding-right:1.1rem}.badge{font-weight:600;letter-spacing:.01em;border-radius:50rem;padding:.35em .7em}.badge.bg-success{background-color:#e2f3ec!important;color:#1a7a5c!important}.badge.bg-warning{background-color:#fbf0db!important;color:#9a6a12!important}.badge.bg-danger{background-color:#fbe4e4!important;color:#b23838!important}.badge.bg-info{background-color:#e0f0f3!important;color:var(--brand-primary)!important}.badge.bg-secondary{background-color:#e9eef5!important;color:var(--ink-500)!important}.badge.bg-primary{background-color:rgba(var(--brand-primary-rgb),.12)!important;color:var(--brand-primary)!important}.badge.bg-light{background-color:var(--surface-soft)!important;color:var(--ink-500)!important}.alert{border:1px solid transparent;border-radius:var(--bs-border-radius);font-size:.9rem}.alert-success{background:#e9f6f0;border-color:#c9eadd;color:#1a6e54}.alert-danger{background:#fcecec;border-color:#f3d2d2;color:#a83a3a}.alert-warning{background:#fbf3e2;border-color:#f0e1c0;color:#8a6212}.alert-info{background:#e6f1f4;border-color:#cbe4ea;color:#156374}.pagination{--bs-pagination-color:var(--ink-500);--bs-pagination-hover-color:var(--brand-dark);--bs-pagination-hover-bg:var(--surface-soft);--bs-pagination-active-bg:var(--brand-primary);--bs-pagination-active-border-color:var(--brand-primary);--bs-pagination-border-color:var(--surface-border);--bs-pagination-border-radius:var(--bs-border-radius);--bs-pagination-focus-box-shadow:0 0 0 0.2rem rgba(var(--brand-primary-rgb),0.2);gap:.25rem}.pagination .page-link{border-radius:var(--bs-border-radius-sm)!important;font-weight:600}.dropdown-menu{--bs-dropdown-border-color:var(--surface-border);--bs-dropdown-border-radius:var(--bs-border-radius);--bs-dropdown-link-active-bg:rgba(var(--brand-primary-rgb),0.1);--bs-dropdown-link-active-color:var(--brand-primary);box-shadow:var(--shadow-md);padding:.4rem}.dropdown-item{border-radius:var(--bs-border-radius-sm);font-weight:500;padding:.5rem .75rem}.breadcrumb{--bs-breadcrumb-divider-color:var(--ink-300);font-size:.85rem}.breadcrumb a{color:var(--ink-500)}.breadcrumb a:hover{color:var(--brand-primary)}.modal-content{border:none;border-radius:var(--bs-border-radius-lg);box-shadow:var(--shadow-lg)}.modal-footer,.modal-header{border-color:var(--surface-border)}.text-brand{color:var(--brand-primary)!important}.text-ink{color:var(--ink-900)!important}.bg-app{background-color:var(--brand-bg)!important}.bg-surface-soft{background-color:var(--surface-soft)!important}.shadow-soft{box-shadow:var(--shadow-sm)!important}.rounded-xl{border-radius:var(--bs-border-radius-xl)!important}.eyebrow{text-transform:uppercase;letter-spacing:.08em;font-size:.72rem;font-weight:700;color:var(--brand-primary)}.divider{height:1px;background:var(--surface-border)}