.notification-badge[data-v-24611562]{align-items:center;background:#dc3545;border-radius:10px;color:#fff;display:flex;font-size:.55rem;font-weight:700;height:16px;justify-content:center;left:14px;line-height:1;min-width:16px;padding:0 4px;pointer-events:none;position:absolute;top:-2px;z-index:1}:root{--color-primary:#00804c;--color-primary-dark:#006639;--color-primary-darker:#004d2b;--color-primary-light:#e6f4ed;--color-primary-lighter:#d4eddd;--color-primary-rgb:0,128,76;--color-primary-soft:rgba(0,128,76,.1);--color-stratoos:#d97757;--color-stratoos-rgb:217,119,87;--bs-primary:#00804c;--bs-primary-rgb:0,128,76;--bs-primary-text-emphasis:#004d2b;--bs-primary-bg-subtle:#e6f4ed;--bs-primary-border-subtle:#d4eddd;--bs-link-color:#00804c;--bs-link-color-rgb:0,128,76;--bs-link-hover-color:#006639;--bs-link-hover-color-rgb:0,102,57;--color-danger:#ef4444;--color-danger-dark:#dc2626;--color-danger-light:#fee2e2;--color-danger-lighter:#fef2f2;--color-danger-text:#991b1b;--color-success:#059669;--color-success-dark:#047857;--color-success-light:#d1fae5;--color-success-lighter:#ecfdf5;--color-success-text:#065f46;--color-warning:#f59e0b;--color-warning-dark:#d97706;--color-warning-light:#fef3c7;--color-warning-text:#92400e;--color-info:#06b6d4;--color-info-dark:#0891b2;--color-info-light:#dbeafe;--color-info-text:#1e40af;--color-orange:#fd7e14;--color-orange-light:#ffe5cc;--color-orange-lighter:#fff3e6;--color-ai:#8b5cf6;--color-ai-dark:#7c3aed;--color-ai-light:#ede9fe;--color-ai-lighter:#f5f3ff;--color-course-1:#00804c;--color-course-2:#06b6d4;--color-course-3:#f59e0b;--color-course-4:#6366f1;--color-course-5:#ef4444;--color-course-6:#8b5cf6;--color-white:#fff;--color-black:#000;--color-gray-50:#f8f9fc;--color-gray-100:#e9ecef;--color-gray-150:#f1f3f9;--color-gray-200:#dee2e6;--color-gray-250:#e0e6ed;--color-gray-300:#adb5bd;--color-gray-350:#b8c5d6;--color-gray-400:#6c757d;--color-gray-450:#94a3b8;--color-gray-500:#495057;--color-gray-600:#344054;--color-gray-700:#2d3748;--color-gray-800:#1a1a1a;--color-gray-900:#212529;--color-background:#fff;--color-background-alt:#f8fafc;--color-background-light:#f8fafc;--color-page-background:#f5f3ef;--bs-body-bg:#f5f3ef;--bs-body-bg-rgb:245,243,239;--color-border:#e5e7eb;--color-border-light:#f3f4f6;--color-border-lighter:#f3f4f6;--color-border-dark:#cbd5e1;--color-text-primary:#0f172a;--color-text-secondary:#64748b;--color-text-tertiary:#94a3b8;--color-text-muted:#9ca3af;--color-text-placeholder:#cbd5e1;--spacing-xs:4px;--spacing-sm:8px;--spacing-md:16px;--spacing-lg:24px;--spacing-xl:32px;--spacing-2xl:48px;--radius-xs:4px;--radius-sm:6px;--radius-md:8px;--radius-lg:10px;--radius-xl:12px;--radius-2xl:14px;--radius-3xl:16px;--radius-round:50%;--radius-full:9999px;--radius-badge:var(--radius-sm);--radius-control:var(--radius-lg);--radius-dropdown:var(--radius-xl);--radius-card:var(--radius-3xl);--radius-nav-pill:24px;--shadow-xs:0 1px 2px rgba(0,0,0,.04);--shadow-sm:0 1px 3px rgba(0,0,0,.04);--shadow-md:0 2px 6px rgba(0,0,0,.06);--shadow-lg:0 8px 24px rgba(0,0,0,.08);--shadow-xl:0 8px 28px rgba(0,0,0,.1);--shadow-2xl:0 8px 32px rgba(31,38,135,.06);--shadow-card:var(--shadow-sm);--shadow-card-hover:var(--shadow-lg);--shadow-elevated:var(--shadow-2xl);--shadow-primary:0 4px 12px rgba(0,128,76,.3);--shadow-primary-lg:0 8px 20px rgba(0,128,76,.35);--shadow-danger:0 4px 12px rgba(220,53,69,.25);--shadow-success:0 4px 12px rgba(25,135,84,.4);--transition-fast:.2s ease;--transition-base:.3s cubic-bezier(.4,0,.2,1);--transition-slow:.4s cubic-bezier(.4,0,.2,1);--transition-bounce:.6s cubic-bezier(.34,1.56,.64,1);--font-primary:"Inter",system-ui,-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif;--font-monospace:"SF Mono","Monaco","Inconsolata","Roboto Mono","Courier New",monospace;--font-size-xs:.75rem;--font-size-sm:.8rem;--font-size-base:.875rem;--font-size-md:.9rem;--font-size-lg:1rem;--font-size-xl:1.1rem;--font-size-2xl:1.2rem;--font-size-3xl:1.5rem;--font-weight-normal:400;--font-weight-medium:500;--font-weight-semibold:600;--font-weight-bold:700;--line-height-tight:1.2;--line-height-normal:1.5;--line-height-relaxed:1.75;--letter-spacing-tight:-.03em;--letter-spacing-normal:0;--letter-spacing-wide:.3px;--letter-spacing-wider:.5px;--z-index-dropdown:1000;--z-index-sticky:1020;--z-index-fixed:1030;--z-index-modal-backdrop:1040;--z-index-modal:1050;--z-index-popover:1060;--z-index-tooltip:1070;--z-index-toast:1080}html.dark-theme{--color-primary:#33a06f;--color-primary-dark:#00804c;--color-primary-darker:#006639;--color-primary-light:#0f2f22;--color-primary-lighter:#174433;--color-primary-rgb:51,160,111;--color-primary-soft:rgba(51,160,111,.14);--color-stratoos:#e8856a;--color-stratoos-rgb:232,133,106;--bs-primary:#33a06f;--bs-primary-rgb:51,160,111;--bs-primary-text-emphasis:#6ec49b;--bs-primary-bg-subtle:#0f2f22;--bs-primary-border-subtle:#174433;--bs-link-color:#33a06f;--bs-link-color-rgb:51,160,111;--bs-link-hover-color:#6ec49b;--bs-link-hover-color-rgb:110,196,155;--color-danger:#f87171;--color-danger-dark:#ef4444;--color-danger-light:#3b1d1d;--color-danger-lighter:#2a1616;--color-danger-text:#fca5a5;--color-success:#34d399;--color-success-dark:#10b981;--color-success-light:#10352a;--color-success-lighter:#0c2820;--color-success-text:#6ee7b7;--color-warning:#fbbf24;--color-warning-dark:#f59e0b;--color-warning-light:#3a2f14;--color-warning-text:#fcd34d;--color-info:#22d3ee;--color-info-dark:#06b6d4;--color-info-light:#10333d;--color-info-text:#67e8f9;--color-orange:#fb923c;--color-orange-light:#3d2616;--color-orange-lighter:#2c1c11;--color-ai:#a78bfa;--color-ai-dark:#8b5cf6;--color-ai-light:#2a2145;--color-ai-lighter:#1e1833;--color-course-1:#33a06f;--color-course-2:#22d3ee;--color-course-3:#fbbf24;--color-course-4:#818cf8;--color-course-5:#f87171;--color-course-6:#a78bfa;--color-gray-50:#0b1120;--color-gray-100:#111c30;--color-gray-150:#14203a;--color-gray-200:#1a2d4a;--color-gray-250:#1f3555;--color-gray-300:#2a4570;--color-gray-350:#3b5a8a;--color-gray-400:#94a3b8;--color-gray-450:#64748b;--color-gray-500:#cbd5e1;--color-gray-600:#e2e8f0;--color-gray-700:#f1f5f9;--color-gray-800:#f8fafc;--color-gray-900:#f8fafc;--color-background:#111c30;--color-background-alt:#0f1829;--color-background-light:#081018;--color-page-background:#0b1120;--bs-body-bg:#0b1120;--bs-body-bg-rgb:11,17,32;--color-border:#1a2d4a;--color-border-light:#111c30;--color-border-lighter:#111c30;--color-border-dark:#24406b;--color-text-primary:#e2e8f0;--color-text-secondary:#94a3b8;--color-text-tertiary:#64748b;--color-text-muted:#64748b;--color-text-placeholder:#475569;--shadow-xs:0 1px 2px rgba(0,0,0,.3);--shadow-sm:0 1px 3px rgba(0,0,0,.3);--shadow-md:0 2px 6px rgba(0,0,0,.4);--shadow-lg:0 8px 24px rgba(0,0,0,.45);--shadow-xl:0 8px 28px rgba(0,0,0,.5);--shadow-2xl:0 8px 32px rgba(0,0,0,.4);--shadow-primary:0 4px 12px rgba(51,160,111,.4);--shadow-primary-lg:0 8px 20px rgba(51,160,111,.5);--shadow-danger:0 4px 12px hsla(0,91%,71%,.35);--shadow-success:0 4px 12px rgba(52,211,153,.5)}@keyframes shake{0%,to{transform:scale(1.15) rotate(0)}25%{transform:scale(1.15) rotate(-5deg)}75%{transform:scale(1.15) rotate(5deg)}}@keyframes float{0%,to{transform:translateY(0)}50%{transform:translateY(-15px)}}@keyframes card-entrance{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes typing-centered{0%{max-width:0}to{max-width:13ch}}@keyframes show-underline{to{overflow:visible}}@keyframes blink-caret{0%,to{border-color:transparent}50%{border-color:#1a1a1a}}@keyframes remove-caret{to{border-color:transparent}}@keyframes underline-zoom-in{0%{filter:blur(8px);opacity:0;transform:translate(-50%) scale(.05)}30%{filter:blur(4px);opacity:.3;transform:translate(-50%) scale(.3)}60%{filter:blur(1px);opacity:.7;transform:translate(-50%) scale(.8)}85%{filter:blur(0);opacity:1;transform:translate(-50%) scale(1.1)}to{filter:blur(0);opacity:1;transform:translate(-50%) scale(1)}}@keyframes sidebar-slide-in{0%{opacity:0;transform:translate(-100%)}to{opacity:1;transform:translate(0)}}@keyframes menu-item-fadein{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}@keyframes logo-pulse{0%,to{filter:drop-shadow(0 4px 12px rgba(0,128,76,.3));transform:scale(1)}50%{filter:drop-shadow(0 6px 20px rgba(0,128,76,.5));transform:scale(1.05)}}@keyframes icon-bounce{0%,to{transform:scale(1.15) translateY(0)}50%{transform:scale(1.15) translateY(-3px)}}@keyframes robot-spin{0%{transform:rotate(0) scale(1)}25%{transform:rotate(-10deg) scale(1.1)}75%{transform:rotate(10deg) scale(1.1)}to{transform:rotate(0) scale(1)}}@keyframes power-pulse{0%,to{filter:drop-shadow(0 2px 6px rgba(220,53,69,.3));transform:scale(1)}50%{filter:drop-shadow(0 4px 12px rgba(220,53,69,.6));transform:scale(1.15)}}@keyframes divider-expand{0%{opacity:0;width:0}to{opacity:1;width:100%}}*{scroll-behavior:smooth}body{font-family:var(--font-primary),serif;font-weight:400;line-height:1.6;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;text-rendering:optimizeLegibility}.header{background:linear-gradient(135deg,#00804c,#006639);border-radius:8px;box-shadow:0 3px 12px #00804c40;font-size:1.5rem;gap:10px;padding:5px;width:100%}.header,.header-content{align-items:center;color:#fff;display:flex;justify-content:space-between}.header-content{border-radius:10px;box-shadow:0 3px 12px #00804c40;flex-wrap:wrap;gap:.75rem;padding:.875rem 1.5rem}.badge{border-radius:var(--radius-sm,6px);box-shadow:var(--shadow-xs,0 1px 3px rgba(0,0,0,.1));font-weight:var(--font-weight-medium,500);letter-spacing:var(--letter-spacing-wide,.3px)}.badge.bg-primary{background:linear-gradient(135deg,var(--color-primary,#00804c) 0,var(--color-primary-dark,#006639) 100%)}.badge.bg-primary,.badge.bg-success{border-radius:var(--radius-sm,6px);font-weight:var(--font-weight-medium,500);padding:6px 12px}.badge.bg-success{background:linear-gradient(135deg,var(--color-success,#198754) 0,var(--color-success-dark,#146c43) 100%)}.pagination{gap:6px}.page-item .page-link{border:1px solid var(--color-border,#dee2e6);border-radius:var(--radius-sm,6px);color:var(--color-text-secondary,#495057);font-weight:var(--font-weight-medium,500);margin:0 2px;transition:var(--transition-fast,.2s ease)}.page-item .page-link:hover:not(:disabled){background-color:var(--color-primary-light,#e6f4ed);border-color:var(--color-primary,#00804c);box-shadow:0 2px 4px #00804c26}.page-item.active .page-link{background:linear-gradient(135deg,var(--color-primary,#00804c) 0,var(--color-primary-dark,#006639) 100%);border-color:var(--color-primary,#00804c);box-shadow:0 2px 6px #00804c4d;color:var(--color-white,#fff)}.page-item.disabled .page-link{cursor:not-allowed;opacity:.5}.table{--bs-table-bg:transparent;background:var(--color-background,#fff);border:1px solid var(--color-border,#e5e7eb)!important;border-collapse:separate!important;border-radius:var(--radius-xl,16px);border-spacing:0;box-shadow:0 1px 2px #1020180a,0 12px 32px -20px #1020182e;color:var(--color-text-primary,#0f172a);margin-bottom:0;overflow:visible;width:100%}html.dark-theme .table{box-shadow:0 1px 3px #0006,0 12px 32px -18px #000000b3}.table>thead>tr:first-child>th:first-child{border-top-left-radius:var(--radius-xl,16px)}.table>thead>tr:first-child>th:last-child{border-top-right-radius:var(--radius-xl,16px)}.table>tbody>tr:last-child>td:first-child{border-bottom-left-radius:var(--radius-xl,16px)}.table>tbody>tr:last-child>td:last-child{border-bottom-right-radius:var(--radius-xl,16px)}.table thead.table-light,.table>thead,.table>thead.sticky-top,.table>thead>tr>th{background:var(--color-background,#fff)!important}.table>thead>tr>th{border:0!important;border-bottom:1px solid var(--color-border,#e5e7eb)!important;color:var(--color-text-muted,#94a3b8)!important;font-size:.68rem;font-weight:var(--font-weight-bold,700);letter-spacing:.06em;padding:12px 14px!important;text-transform:uppercase;vertical-align:middle;white-space:nowrap}.table>thead>tr>th span[style*=cursor]{opacity:.5;transition:opacity var(--transition-fast,.2s ease),transform var(--transition-fast,.2s ease)}.table>thead>tr>th span[style*=cursor]:hover{opacity:1;transform:scale(1.15)}.table>tbody>tr>td{background:transparent;border:0!important;border-bottom:1px solid var(--color-border-lighter,#f3f4f6)!important;color:var(--color-text-primary,#0f172a);padding:11px 14px!important;vertical-align:middle}.table>tbody>tr:last-child>td{border-bottom:0!important}.table-hover>tbody>tr{transition:background-color .13s ease}.table-hover>tbody>tr:hover>td{background-color:rgba(var(--bs-primary-rgb,0,128,76),.055)!important}.table td .d-flex.gap-1,.table td .d-flex.gap-4{gap:6px!important}.table .btn-sm.btn-outline-danger,.table .btn-sm.btn-outline-primary,.table .btn-sm.btn-outline-secondary{align-items:center;background:transparent!important;border:1px solid transparent!important;border-radius:var(--radius-md,9px);box-shadow:none!important;color:var(--color-text-muted,#94a3b8)!important;display:inline-flex;height:34px;justify-content:center;min-width:34px;padding:4px!important;transition:background-color .13s ease,color .13s ease}.table .btn-sm.btn-outline-primary:hover,.table .btn-sm.btn-outline-secondary:hover{background:rgba(var(--bs-primary-rgb,0,128,76),.1)!important;border-color:transparent!important;color:var(--color-primary,#00804c)!important;transform:none}.table .btn-sm.btn-outline-danger:hover{background:rgba(var(--bs-danger-rgb,220,53,69),.12)!important;border-color:transparent!important;color:var(--color-danger,#dc3545)!important}.table td .d-inline-block.border.rounded,.table td p.d-inline-block.rounded{border:0!important;border-radius:8px!important;font-family:var(--font-monospace,ui-monospace,monospace);font-size:.72rem;font-weight:var(--font-weight-bold,700);letter-spacing:.3px;line-height:1.2;margin:0!important;padding:4px 9px!important;white-space:nowrap}.table td [style*=dodgerblue]{color:var(--color-text-primary,#0f172a)!important;cursor:pointer;font-weight:var(--font-weight-semibold,600);text-decoration:none!important;transition:color .13s ease}.table td [style*=dodgerblue]:hover{color:var(--color-primary,#00804c)!important;text-decoration:none!important}.table td .form-select,.table td select{background-color:var(--color-background,#fff)!important;border:1px solid var(--color-border,#e5e7eb)!important;border-radius:999px!important;box-shadow:none!important;color:var(--color-text-secondary,#64748b)!important;font-size:.7rem!important;font-weight:var(--font-weight-medium,500);height:auto!important;min-height:0!important;min-width:0!important;padding:3px 26px 3px 11px!important;width:auto!important}.table-fixed td,.table-fixed th{height:50px}.associated_lesson{background-color:var(--color-background,#fff);border:1px solid var(--color-border,#dee2e6)!important;border-radius:var(--radius-sm,6px);transition:var(--transition-fast,.2s ease)}.associated_lesson:hover{background-color:var(--color-primary-light,#e6f4ed);border-color:var(--color-primary,#00804c)!important;box-shadow:0 2px 6px rgba(var(--bs-primary-rgb,0,128,76),.15);color:var(--color-primary-dark,#006639);cursor:pointer}@media (max-width:1400px){.table>thead>tr>th{font-size:.64rem}}.dt-card{background:var(--color-background,#fff);border:1px solid var(--color-border,#e5e7eb);border-radius:20px;box-shadow:0 1px 2px #1020180a,0 12px 32px -20px #10201833;margin-top:1.5rem;overflow:hidden}html.dark-theme .dt-card{box-shadow:0 1px 3px #0006,0 12px 32px -18px #000000b3}.dt-wrap{margin-top:1rem}.dt-toolbar{align-items:center;display:flex;flex-wrap:wrap;gap:12px;padding:18px 20px}.dt-count{align-items:center;color:var(--color-text-primary,#0f172a);display:inline-flex;font-size:15px;font-weight:700;gap:8px}.dt-badge-n{background:rgba(var(--bs-primary-rgb,0,128,76),.1);border-radius:999px;color:var(--color-primary,#00804c);font-size:12px;font-weight:700;padding:3px 9px}.dt-search{align-items:center;background:var(--color-background-light,#f5f3ef);border:1px solid var(--color-border,#e5e7eb);border-radius:12px;color:var(--color-text-muted,#94a3b8);display:flex;flex:1;gap:9px;height:42px;margin-left:auto;max-width:440px;min-width:280px;padding:0 14px}.dt-search input{background:transparent;border:0;color:var(--color-text-primary,#0f172a);flex:1;font-family:inherit;font-size:13.5px;min-width:0;outline:none}.dt-search svg{height:18px;width:18px}.dt-export{align-items:center;background:linear-gradient(135deg,#009f5e,var(--color-primary,#00804c));border:0;border-radius:12px;box-shadow:0 4px 12px rgba(var(--bs-primary-rgb,0,128,76),.28);color:#fff;cursor:pointer;display:inline-flex;font-size:13.5px;font-weight:600;gap:8px;height:42px;padding:0 16px;white-space:nowrap}.dt-export svg{height:17px;width:17px}.dt-filters{align-items:center;display:flex;flex-wrap:wrap;gap:8px;padding:0 20px 16px}.dt-chip{align-items:center;background:var(--color-background-light,#f5f3ef);border:1px solid var(--color-border,#e5e7eb);border-radius:999px;color:var(--color-text-secondary,#64748b);cursor:pointer;display:inline-flex;font-size:12.5px;font-weight:500;gap:7px;height:34px;padding:0 12px;position:relative;transition:background-color .13s ease,border-color .13s ease,color .13s ease}.dt-chip--select{overflow:hidden;padding:0}.dt-chip--active{background:rgba(var(--bs-primary-rgb,0,128,76),.1);border-color:rgba(var(--bs-primary-rgb,0,128,76),.35);color:var(--color-primary,#00804c);font-weight:600}.dt-chip--disabled,.dt-chip--disabled select:disabled{color:var(--color-text-muted,#94a3b8);-webkit-text-fill-color:var(--color-text-muted,#94a3b8);cursor:not-allowed}.dt-chip select{-moz-appearance:none;appearance:none;-webkit-appearance:none;background:transparent;border:0;color:inherit;cursor:pointer;font:inherit;font-weight:inherit;height:34px;max-width:210px;outline:none;padding:0 30px 0 14px}.dt-cellselect option,.dt-chip select option,.dt-show select option{background:var(--color-background,#fff);color:var(--color-text-primary,#0f172a);padding:8px 12px}.dt-chip--select:after{border-bottom:1.5px solid;border-right:1.5px solid;content:"";height:7px;opacity:.6;pointer-events:none;position:absolute;right:13px;top:50%;transform:translateY(-70%) rotate(45deg);width:7px}.dt-chip--check input{accent-color:var(--color-primary,#00804c);cursor:pointer}.dt-chip--date,.dt-chip--num{height:34px;padding:0 12px}.dt-chip-lbl{font-weight:600;white-space:nowrap}.dt-chip input[type=date],.dt-chip input[type=number]{background:transparent!important;border:0!important;box-shadow:none!important;color:inherit!important;font:inherit!important;height:auto!important;margin:0!important;min-height:0!important;min-width:0!important;outline:none!important;padding:0!important}.dt-chip input[type=number]{width:60px!important}.dt-chip input[type=date]{color-scheme:light;cursor:pointer;width:128px!important}html.dark-theme .dt-chip input[type=date]{color-scheme:dark}.dt-chip input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;opacity:.55}.dt-sep{flex:1 1 20px}.dt-show{align-items:center;color:var(--color-text-secondary,#64748b);display:inline-flex;font-size:12.5px;gap:6px;white-space:nowrap}.dt-show select{background:var(--color-background,#fff);border:1px solid var(--color-border,#e5e7eb);border-radius:8px;color:inherit;cursor:pointer;font:inherit;padding:3px 6px}.dt-clear{align-items:center;background:transparent;border:0;color:var(--color-text-muted,#94a3b8);cursor:pointer;display:inline-flex;font-size:12.5px;gap:5px;white-space:nowrap}.dt-clear:hover{color:var(--color-primary,#00804c)}.dt-clear svg{height:13px;width:13px}.dt-scroll{max-height:800px;overflow-x:auto;overflow-y:auto}.dt-table{background:transparent;border-collapse:separate;border-spacing:0;margin:0;width:100%}.dt-table thead th{background:var(--color-background,#fff);border-bottom:1px solid var(--color-border,#e5e7eb);color:var(--color-text-muted,#94a3b8);font-size:11px;font-weight:700;letter-spacing:.07em;padding:12px 16px;position:sticky;text-align:left;text-transform:uppercase;top:0;white-space:nowrap;z-index:2}.dt-table thead th.dt-num{text-align:center}.dt-table thead th.dt-act{text-align:right}.dt-sort{cursor:pointer;font-size:10px;margin-left:3px;opacity:.45;-webkit-user-select:none;-moz-user-select:none;user-select:none}.dt-sort:hover{opacity:1}.dt-table tbody td{border-bottom:1px solid var(--color-border-lighter,#f3f4f6);color:var(--color-text-primary,#0f172a);font-size:13px;padding:12px 16px;vertical-align:middle}.dt-table tbody td.dt-num{text-align:center}.dt-table tbody td.dt-act{text-align:right}.dt-table tbody tr{transition:background-color .13s ease}.dt-table tbody tr:hover td{background:rgba(var(--bs-primary-rgb,0,128,76),.045)}.dt-table tbody tr:last-child td{border-bottom:0}.dt-muted{color:var(--color-text-secondary,#64748b)}.dt-code{border-radius:8px;display:inline-block;font-family:var(--font-monospace,ui-monospace,monospace);font-size:11.5px;font-weight:700;letter-spacing:.3px;max-width:7rem;overflow:hidden;padding:5px 10px;text-overflow:ellipsis;vertical-align:middle;white-space:nowrap}.dt-codecell{align-items:flex-start;display:inline-flex;flex-direction:column;gap:4px}.dt-title{color:var(--color-text-primary,#0f172a);cursor:pointer;font-weight:600;transition:color .13s ease}.dt-title:hover{color:var(--color-primary,#00804c)}.dt-ver{font-variant-numeric:tabular-nums;font-weight:600}.dt-cellselect,.dt-ver{color:var(--color-text-secondary,#64748b)}.dt-cellselect{-moz-appearance:none;appearance:none;-webkit-appearance:none;background-color:var(--color-background,#fff);background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='10' height='10' viewBox='0 0 24 24' fill='none' stroke='%2394a3b8' stroke-width='2.5' stroke-linecap='round' stroke-linejoin='round'><path d='m6 9 6 6 6-6'/></svg>");background-position:right 8px center;background-repeat:no-repeat;border:1px solid var(--color-border,#e5e7eb);border-radius:999px;cursor:pointer;font:inherit;font-size:12px;font-weight:500;padding:4px 24px 4px 11px}.dt-cellselect:focus{border-color:var(--color-primary,#00804c);outline:none}.dt-actions{display:inline-flex;gap:4px;justify-content:flex-end}.dt-iconbtn{align-items:center;background:transparent;border:1px solid transparent;border-radius:9px;color:var(--color-text-muted,#94a3b8);cursor:pointer;display:inline-flex;height:32px;justify-content:center;padding:0;transition:background-color .13s ease,color .13s ease;width:32px}.dt-iconbtn:hover{background:rgba(var(--bs-primary-rgb,0,128,76),.1);color:var(--color-primary,#00804c)}.dt-iconbtn--danger:hover{background:rgba(var(--bs-danger-rgb,220,53,69),.12);color:var(--color-danger,#dc3545)}.dt-iconbtn svg{height:16px;width:16px}.dt-foot{align-items:center;display:flex;flex-wrap:wrap;gap:12px;justify-content:space-between;padding:16px 20px}.dt-info{color:var(--color-text-secondary,#64748b);font-size:12.5px}.dt-info b{color:var(--color-text-primary,#0f172a)}.dt-pager{align-items:center;display:flex;gap:4px}.dt-pager .page-item{list-style:none}.dt-pager .page-link{align-items:center;background:transparent;border:1px solid transparent;border-radius:9px;color:var(--color-text-secondary,#64748b);display:inline-flex;font-size:13px;font-weight:600;height:34px;justify-content:center;min-width:34px;padding:0 10px}.dt-pager .page-link:hover{background:var(--color-background-light,#f5f3ef);color:var(--color-text-primary,#0f172a)}.dt-pager .page-item.active .page-link{background:var(--color-primary,#00804c);border-color:var(--color-primary,#00804c);color:#fff}.dt-pager .page-item.disabled .page-link{cursor:not-allowed;opacity:.4}.table .btn-outline-primary{background:linear-gradient(135deg,var(--color-background,#fff) 0,var(--color-gray-50,#f8f9fc) 100%);border:2px solid var(--color-border-light,#e3e8ef);border-radius:var(--radius-md,8px);box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.05));overflow:hidden;position:relative;transition:var(--transition-base,all .25s cubic-bezier(.4,0,.2,1))}.table .btn-outline-primary:before{background:#00804c1a;border-radius:var(--radius-round,50%);content:"";height:0;left:50%;position:absolute;top:50%;transform:translate(-50%,-50%);transition:width .4s ease,height .4s ease;width:0}.table .btn-outline-primary:hover:before{height:100%;width:100%}.table .btn-outline-primary i{color:var(--color-gray-400,#6c757d);font-size:var(--font-size-xl,1.1rem);position:relative;transition:var(--transition-base,all .25s ease);z-index:1}.table .btn-outline-primary:has(.bi-eye){border-color:#bfdbfe}.table .btn-outline-primary:has(.bi-eye):hover{background:linear-gradient(135deg,#eff6ff,#dbeafe);border-color:#3b82f6;box-shadow:0 4px 12px #3b82f640}.table .btn-outline-primary:has(.bi-eye):hover i{color:#3b82f6;transform:scale(1.15)}.table .btn-outline-primary:has(.bi-pencil-fill){border-color:var(--color-orange-light,#ffe5cc)}.table .btn-outline-primary:has(.bi-pencil-fill):hover{background:linear-gradient(135deg,var(--color-orange-lighter,#fff3e6) 0,var(--color-orange-light,#ffe5cc) 100%);border-color:var(--color-orange,#fd7e14);box-shadow:0 4px 12px #fd7e1440}.table .btn-outline-primary:has(.bi-pencil-fill):hover i{color:var(--color-orange,#fd7e14);transform:scale(1.15) rotate(-12deg)}.table .btn-outline-primary:has(.bi-trash-fill){border-color:var(--color-danger-light,#f8d7da)}.table .btn-outline-primary:has(.bi-trash-fill):hover{background:linear-gradient(135deg,var(--color-danger-lighter,#ffe6e6) 0,var(--color-danger-light,#f8d7da) 100%);border-color:var(--color-danger,#dc3545);box-shadow:0 4px 12px #dc354540}.table .btn-outline-primary:has(.bi-trash-fill):hover i{animation:shake .4s ease;color:var(--color-danger,#dc3545);transform:scale(1.15)}.table .btn-outline-primary:has(.bi-floppy){border-color:var(--color-success-light,#f8d7da)}.table .btn-outline-primary:has(.bi-floppy):hover{background:linear-gradient(135deg,var(--color-success-lighter,#ffe6e6) 0,var(--color-success-light,#f8d7da) 100%);border-color:var(--color-success,#dc3545);box-shadow:0 4px 12px #dc354540}.table .btn-outline-primary:has(.bi-floppy):hover i{animation:shake .4s ease;color:var(--color-success,#dc3545);transform:scale(1.15)}.table .btn-outline-primary:active{box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.1));transform:scale(.95)}.table .btn-outline-primary:focus{box-shadow:0 0 0 3px #00804c26;outline:none}.table .btn-outline-primary:disabled{box-shadow:none;cursor:not-allowed;opacity:.4}.table .btn-outline-primary:disabled:hover{background:linear-gradient(135deg,var(--color-background,#fff) 0,var(--color-gray-50,#f8f9fc) 100%);border-color:var(--color-border-light,#e3e8ef);box-shadow:none}.table .btn-outline-primary:disabled:hover i{color:var(--color-gray-400,#6c757d);transform:none}.btn-primary{--bs-btn-color:var(--color-primary,#00804c);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--color-primary-dark,#006639);--bs-btn-hover-bg:rgba(var(--color-primary-rgb,0,128,76),.08);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--color-primary-dark,#006639);--bs-btn-active-bg:rgba(var(--color-primary-rgb,0,128,76),.14);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:var(--color-text-muted,#9ca3af);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;background:transparent;border:1px solid transparent;border-radius:var(--radius-control,10px);box-shadow:none;color:var(--color-primary,#00804c);font-size:var(--font-size-base,.875rem);font-weight:var(--font-weight-semibold,600);letter-spacing:var(--letter-spacing-normal,0);padding:.5rem 1.25rem;transition:all .15s ease-in-out}.btn-primary:focus-visible,.btn-primary:hover{background:rgba(var(--color-primary-rgb,0,128,76),.08);border-color:transparent;box-shadow:none;color:var(--color-primary-dark,#006639);transform:none}.btn-primary.active,.btn-primary:active,.btn-primary:first-child:active{background:rgba(var(--color-primary-rgb,0,128,76),.14);border-color:transparent;box-shadow:none;color:var(--color-primary-dark,#006639);transform:none}.btn-filled,.btn-primary.btn-filled{--bs-btn-color:var(--color-white,#fff);--bs-btn-bg:var(--color-primary,#00804c);--bs-btn-border-color:var(--color-primary,#00804c);--bs-btn-hover-color:var(--color-white,#fff);--bs-btn-hover-bg:var(--color-primary-dark,#006639);--bs-btn-hover-border-color:var(--color-primary-dark,#006639);--bs-btn-active-color:var(--color-white,#fff);--bs-btn-active-bg:var(--color-primary-darker,#004d2b);--bs-btn-active-border-color:var(--color-primary-darker,#004d2b);background:var(--color-primary,#00804c);border:1px solid var(--color-primary,#00804c);color:var(--color-white,#fff)}.btn-filled:hover,.btn-primary.btn-filled:hover{background:var(--color-primary-dark,#006639);border-color:var(--color-primary-dark,#006639);color:var(--color-white,#fff)}.btn-danger{--bs-btn-color:var(--color-danger,#ef4444);--bs-btn-bg:transparent;--bs-btn-border-color:transparent;--bs-btn-hover-color:var(--color-danger-dark,#dc2626);--bs-btn-hover-bg:rgba(239,68,68,.08);--bs-btn-hover-border-color:transparent;--bs-btn-active-color:var(--color-danger-dark,#dc2626);--bs-btn-active-bg:rgba(239,68,68,.14);--bs-btn-active-border-color:transparent;--bs-btn-disabled-color:var(--color-text-muted,#9ca3af);--bs-btn-disabled-bg:transparent;--bs-btn-disabled-border-color:transparent;--bs-btn-box-shadow:none;background:transparent;border:1px solid transparent;border-radius:var(--radius-control,10px);box-shadow:none;color:var(--color-danger,#ef4444);font-size:var(--font-size-base,.875rem);font-weight:var(--font-weight-semibold,600);padding:.5rem 1.25rem;transition:all .15s ease-in-out}.btn-danger:focus-visible,.btn-danger:hover{background:#ef444414;border-color:transparent;box-shadow:none;color:var(--color-danger-dark,#dc2626)}.btn-danger.active,.btn-danger:active,.btn-danger:first-child:active{background:#ef444424;border-color:transparent;box-shadow:none;color:var(--color-danger-dark,#dc2626)}.btn-success{background:linear-gradient(135deg,var(--color-success,#198754) 0,var(--color-success-dark,#146c43) 100%);border:none;border-radius:var(--radius-md,8px);box-shadow:0 2px 6px #1987544d;font-weight:var(--font-weight-medium,500);transition:var(--transition-fast,.2s ease)}.btn-success:hover{box-shadow:var(--shadow-success,0 4px 12px rgba(25,135,84,.4))}.btn-outline-danger{background:var(--color-background,#fff);border:2px solid var(--color-danger,#dc3545);border-radius:var(--radius-md,8px);color:var(--color-danger,#dc3545);font-size:var(--font-size-base,.875rem);font-weight:var(--font-weight-semibold,600);padding:8px 16px;transition:var(--transition-fast,.2s ease)}.btn-outline-danger:hover{background:linear-gradient(135deg,var(--color-danger-lighter,#ffe6e6) 0,var(--color-danger-light,#f8d7da) 100%);border-color:var(--color-danger,#dc3545);box-shadow:0 2px 8px #dc354533;color:var(--color-danger,#dc3545)}.btn-outline-secondary{background:var(--color-background,#fff);border:2px solid var(--color-gray-400,#6c757d);border-radius:var(--radius-md,8px);color:var(--color-gray-400,#6c757d);font-size:var(--font-size-base,.875rem);font-weight:var(--font-weight-semibold,600);padding:8px 16px;transition:var(--transition-fast,.2s ease)}.btn-outline-secondary:hover{background:var(--color-gray-50,#f8f9fa);border-color:var(--color-gray-500,#495057);box-shadow:0 2px 8px #6d767e33;color:var(--color-gray-500,#495057)}input[type=file]+label.btn,label[for=fileInput].btn{background:linear-gradient(135deg,var(--color-background,#fff) 0,var(--color-gray-50,#f8f9fc) 100%);border:2px solid var(--color-primary,#00804c);border-radius:var(--radius-md,8px);box-shadow:0 2px 6px #00804c26;color:var(--color-primary,#00804c);cursor:pointer;font-size:var(--font-size-base,.875rem);font-weight:var(--font-weight-semibold,600);padding:8px 16px;position:relative;transition:var(--transition-base,all .25s cubic-bezier(.4,0,.2,1))}input[type=file]+label.btn:hover,label[for=fileInput].btn:hover{background:linear-gradient(135deg,var(--color-primary,#00804c) 0,var(--color-primary-dark,#006639) 100%);border-color:var(--color-primary,#00804c);box-shadow:0 4px 12px #00804c59;color:var(--color-white,#fff);transform:translateY(-2px)}input[type=file]+label.btn:active,label[for=fileInput].btn:active{box-shadow:0 2px 6px #00804c40;transform:translateY(0)}input[type=file]+label.btn i,label[for=fileInput].btn i{transition:transform .25s ease}input[type=file]+label.btn:hover i,label[for=fileInput].btn:hover i{transform:scale(1.1)}input[type=file].d-none{display:none!important}.btn-outline-primary[for=fileInput],label.btn-outline-primary[for=fileInput]{background:linear-gradient(135deg,var(--color-background,#fff) 0,var(--color-gray-50,#f8f9fc) 100%);border:2px solid var(--color-primary,#00804c);color:var(--color-primary,#00804c);font-weight:var(--font-weight-semibold,600);transition:var(--transition-base,.25s ease)}.btn-outline-primary[for=fileInput]:hover,label.btn-outline-primary[for=fileInput]:hover{background:linear-gradient(135deg,var(--color-primary,#00804c) 0,var(--color-primary-dark,#006639) 100%);border-color:var(--color-primary,#00804c);box-shadow:0 4px 12px #00804c59;color:var(--color-white,#fff)}label[for=fileInput].btn.disabled,label[for=fileInput].btn:disabled{background:var(--color-gray-100,#e9ecef);border-color:var(--color-border,#dee2e6);box-shadow:none;color:var(--color-gray-400,#6c757d);cursor:not-allowed;opacity:.6}label[for=fileInput].btn.disabled:hover,label[for=fileInput].btn:disabled:hover{box-shadow:none;transform:none}.btn-ai{background:linear-gradient(135deg,var(--color-primary,#00804c) 0,var(--color-primary-dark,#006639) 100%);border:none;border-radius:var(--radius-md,8px);box-shadow:var(--shadow-primary,0 2px 8px rgba(0,128,76,.3));color:var(--color-white,#fff);font-size:var(--font-size-base,.875rem);font-weight:var(--font-weight-semibold,600);overflow:hidden;padding:8px 16px;position:relative;transition:var(--transition-base,all .3s cubic-bezier(.4,0,.2,1))}.btn-ai:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.25),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .6s ease;width:100%}.btn-ai:hover{background:linear-gradient(135deg,#2d9960 0,var(--color-primary,#00804c) 100%);box-shadow:var(--shadow-primary-lg,0 4px 16px rgba(0,128,76,.4));color:var(--color-white,#fff);transform:translateY(-2px)}.btn-ai:hover:before{left:100%}.btn-ai:active{box-shadow:var(--shadow-primary,0 2px 8px rgba(0,128,76,.3));transform:translateY(0)}.btn-ai:focus{box-shadow:0 0 0 3px #00804c40,var(--shadow-primary,0 2px 8px rgba(0,128,76,.3));outline:none}.btn-ai:disabled{background:linear-gradient(135deg,#6ea8fe,#9ec5fe);cursor:not-allowed}.btn-ai:disabled,.btn-ai:disabled:hover{box-shadow:none;transform:none}.btn-ai i{transition:transform .3s ease}.btn-ai:hover i{transform:scale(1.1)}.login-card .btn{background:linear-gradient(135deg,var(--color-gray-800,#1a1a1a) 0,#2d2d2d 100%);border:none;border-radius:var(--radius-lg,10px);box-shadow:0 4px 12px #00000026,0 2px 4px #00000014;color:var(--color-white,#fff);cursor:pointer;font-size:1rem;font-weight:var(--font-weight-semibold,600);letter-spacing:var(--letter-spacing-wider,.5px);overflow:hidden;padding:13px 24px;position:relative;transition:var(--transition-base,all .3s cubic-bezier(.4,0,.2,1))}.login-card .btn:before{background:linear-gradient(90deg,transparent,hsla(0,0%,100%,.2),transparent);content:"";height:100%;left:-100%;position:absolute;top:0;transition:left .5s ease;width:100%}.login-card .btn:hover{background:linear-gradient(135deg,var(--color-primary,#00804c) 0,var(--color-primary-dark,#006639) 100%);box-shadow:0 8px 20px #00804c59,0 4px 8px #00804c26;transform:translateY(-2px)}.login-card .btn:hover:before{left:100%}.login-card .btn:active{box-shadow:0 2px 8px #0003;transform:translateY(0)}.login-card .btn:focus{box-shadow:0 0 0 4px #00804c26,0 4px 12px #00000026;outline:none}.login-card .btn:disabled{background:linear-gradient(135deg,var(--color-gray-600,#4a4a4a) 0,var(--color-gray-700,#3a3a3a) 100%);cursor:wait;opacity:.85}.login-card .btn:disabled:hover{box-shadow:0 4px 12px #00000026,0 2px 4px #00000014;transform:none}.login-btn__loading{align-items:center;display:inline-flex;justify-content:center}.form-control{--bs-body-bg:#fff;background-color:#fff;border:1.5px solid var(--color-border,#dee2e6);border-radius:var(--radius-sm,6px);transition:var(--transition-fast,.2s ease)}.form-control:focus{border-color:var(--color-primary,#00804c);box-shadow:0 0 0 3px #00804c1a}.form-label{color:var(--color-gray-600,#344054);letter-spacing:var(--letter-spacing-wide,.2px)}.d-flex.flex-column label,.form-label{font-size:var(--font-size-base,.875rem);font-weight:var(--font-weight-semibold,600);margin-bottom:var(--spacing-sm,8px)}.d-flex.flex-column label{color:var(--color-gray-500,#495057);letter-spacing:var(--letter-spacing-wide,.3px)}.form-select{appearance:none;-webkit-appearance:none;-moz-appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%236c757d' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");border:2px solid var(--color-border-light,#e3e8ef);border-radius:var(--radius-md,8px);box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.05));color:var(--color-gray-500,#495057);cursor:pointer;font-family:inherit;font-size:var(--font-size-md,.9rem);font-weight:var(--font-weight-medium,500);outline:none;padding:10px 40px 10px 14px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}.form-select,.form-select:hover{background-color:#fff;background-position:right 12px center;background-repeat:no-repeat;background-size:16px}.form-select:hover{background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23495057' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");border-color:var(--color-border-dark,#adb5bd);box-shadow:var(--shadow-md,0 2px 6px rgba(0,0,0,.08))}.form-select:focus{background-color:#fff;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%230d6efd' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:18px;border-color:var(--color-primary,#00804c);box-shadow:0 0 0 3px #00804c1f,0 2px 8px #00804c26}.form-select:disabled{background:var(--color-gray-100,#e9ecef);background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg xmlns='http://www.w3.org/2000/svg' width='16' height='16' fill='%23adb5bd' viewBox='0 0 16 16'%3E%3Cpath d='M7.247 11.14 2.451 5.658C1.885 5.013 2.345 4 3.204 4h9.592a1 1 0 0 1 .753 1.659l-4.796 5.48a1 1 0 0 1-1.506 0z'/%3E%3C/svg%3E");background-position:right 12px center;background-repeat:no-repeat;background-size:16px;border-color:var(--color-border,#dee2e6);color:var(--color-gray-400,#6c757d);cursor:not-allowed;opacity:.65}.form-select-sm{background-position:right 10px center;background-size:14px;border-radius:var(--radius-sm,6px);font-size:var(--font-size-base,.875rem);padding:6px 32px 6px 10px}.form-select.d-inline-block.w-auto{font-size:var(--font-size-base,.875rem);min-width:80px;padding:6px 32px 6px 12px}.form-select.w-25{min-width:180px}.form-select::-ms-expand{display:none}.form-select option{background-color:var(--color-white,#fff);color:var(--color-gray-500,#495057);font-weight:var(--font-weight-medium,500);padding:10px 14px;transition:var(--transition-fast,.2s ease)}.form-select option:hover{background-color:var(--color-primary-light,#e6f4ed);color:var(--color-primary,#00804c)}.form-select option:disabled{background-color:var(--color-gray-50,#f8f9fa);color:var(--color-gray-300,#adb5bd);cursor:not-allowed;font-style:italic}.form-select option[value=""]{color:var(--color-gray-400,#6c757d);font-style:italic;font-weight:var(--font-weight-normal,400)}input[type=date]{background:linear-gradient(135deg,var(--color-white,#fff) 0,var(--color-gray-50,#f8f9fc) 100%);border:2px solid var(--color-border-light,#e3e8ef);border-radius:var(--radius-md,8px);box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.05));color:var(--color-gray-500,#495057);cursor:pointer;font-family:inherit;font-size:var(--font-size-md,.9rem);font-weight:var(--font-weight-medium,500);min-width:165px;outline:none;padding:10px 40px 10px 14px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1)}input[type=date]:hover{background:linear-gradient(135deg,var(--color-gray-50,#f8f9fc) 0,var(--color-white,#fff) 100%);border-color:var(--color-border-dark,#adb5bd);box-shadow:var(--shadow-md,0 2px 6px rgba(0,0,0,.08))}input[type=date]:focus{background:var(--color-white,#fff);border-color:var(--color-primary,#00804c);box-shadow:0 0 0 3px #00804c1f,0 2px 8px #00804c26}input[type=date]::-webkit-calendar-picker-indicator{cursor:pointer;filter:brightness(0) saturate(100%) invert(44%) sepia(8%) saturate(579%) hue-rotate(169deg) brightness(95%) contrast(88%);height:20px;opacity:.6;position:absolute;right:12px;-webkit-transition:var(--transition-fast,.2s ease);transition:var(--transition-fast,.2s ease);width:20px}input[type=date]:hover::-webkit-calendar-picker-indicator{opacity:.9;transform:scale(1.1)}input[type=date]:focus::-webkit-calendar-picker-indicator,input[type=date]:hover::-webkit-calendar-picker-indicator{filter:brightness(0) saturate(100%) invert(34%) sepia(88%) saturate(2527%) hue-rotate(205deg) brightness(98%) contrast(98%)}input[type=date]:focus::-webkit-calendar-picker-indicator{opacity:1}input[type=date]::-webkit-clear-button{display:none}input[type=date]:disabled{background:var(--color-gray-100,#e9ecef);border-color:var(--color-border,#dee2e6);color:var(--color-gray-400,#6c757d);cursor:not-allowed;opacity:.65}input[type=date]:disabled::-webkit-calendar-picker-indicator{cursor:not-allowed;opacity:.3}input[type=date]::-moz-focus-inner{border:0;padding:0}input[type=date]::-ms-clear,input[type=date]::-ms-reveal{display:none}input[type=checkbox]{appearance:none;-webkit-appearance:none;-moz-appearance:none;background:linear-gradient(135deg,var(--color-white,#fff) 0,#f9fafb 100%);border:2px solid #d1d5db;border-radius:var(--radius-sm,6px);box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.05));cursor:pointer;height:20px;outline:none;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);vertical-align:middle;width:20px}input[type=checkbox]:hover{background:linear-gradient(135deg,#f9fafb 0,var(--color-white,#fff) 100%);border-color:#9ca3af;box-shadow:var(--shadow-md,0 2px 6px rgba(0,0,0,.08));transform:scale(1.05)}input[type=checkbox]:focus{box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.05));outline:none}input[type=checkbox]:focus:checked{box-shadow:0 0 0 2px #00804c14,0 1px 4px #00804c1f}input[type=checkbox]:checked{background:linear-gradient(135deg,var(--color-primary,#00804c) 0,var(--color-primary-dark,#006639) 100%);border-color:var(--color-primary,#00804c);box-shadow:0 1px 4px #00804c26}input[type=checkbox]:checked:hover{background:linear-gradient(135deg,#1a6d42 0,var(--color-primary-darker,#0d3f26) 100%);box-shadow:0 2px 6px #00804c33;transform:scale(1.05)}input[type=checkbox]:checked:before{animation:checkmark-pop .3s cubic-bezier(.68,-.55,.265,1.55) forwards;color:var(--color-white,#fff);content:"✓";font-size:14px;font-weight:var(--font-weight-bold,700);left:50%;position:absolute;top:50%;transform:translate(-50%,-50%) scale(0)}@keyframes checkmark-pop{0%{opacity:0;transform:translate(-50%,-50%) scale(0) rotate(-45deg)}50%{transform:translate(-50%,-50%) scale(1.2) rotate(5deg)}to{opacity:1;transform:translate(-50%,-50%) scale(1) rotate(0)}}input[type=checkbox]:disabled{box-shadow:none;cursor:not-allowed;opacity:.5}input[type=checkbox]:disabled:hover{box-shadow:none;transform:none}.form-check-input{background:linear-gradient(135deg,var(--color-white,#fff) 0,#f9fafb 100%);border:2px solid #d1d5db;border-radius:var(--radius-sm,6px);box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.05));cursor:pointer;height:20px;position:relative;transition:all .25s cubic-bezier(.4,0,.2,1);width:20px}.form-check-input:hover{background:linear-gradient(135deg,#f9fafb 0,var(--color-white,#fff) 100%);border-color:#9ca3af;box-shadow:var(--shadow-md,0 2px 6px rgba(0,0,0,.08));transform:scale(1.05)}.form-check-input:focus{box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.05));outline:none}.form-check-input:focus:checked{box-shadow:0 0 0 2px #00804c14,0 1px 4px #00804c1f}.form-check-input:checked{background:linear-gradient(135deg,var(--color-primary,#00804c) 0,var(--color-primary-dark,#006639) 100%);border-color:var(--color-primary,#00804c);box-shadow:0 1px 4px #00804c26}.form-check-input:checked:hover{background:linear-gradient(135deg,#1a6d42 0,var(--color-primary-darker,#0d3f26) 100%);box-shadow:0 2px 6px #00804c33;transform:scale(1.05)}.form-check-input:disabled{background:var(--color-gray-100,#e9ecef);border-color:var(--color-border,#dee2e6);cursor:not-allowed;opacity:.5}.form-check-label{color:var(--color-gray-500,#495057);cursor:pointer;font-size:var(--font-size-base,.875rem);font-weight:var(--font-weight-medium,500);margin-left:var(--spacing-sm,8px);transition:var(--transition-fast,.2s ease);-webkit-user-select:none;-moz-user-select:none;user-select:none}.form-check-label:hover{color:var(--color-text-primary,#212529)}.table input[type=checkbox]{accent-color:var(--color-primary,#00804c);cursor:pointer;height:18px;width:18px}textarea.form-control,textarea.form-control-sm{min-height:80px;resize:vertical}.input-group{border-radius:var(--radius-md,8px);box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.05));overflow:hidden}.input-group-text{background:linear-gradient(135deg,var(--color-gray-50,#f8f9fc) 0,var(--color-gray-100,#e9ecef) 100%);border:1.5px solid var(--color-border-light,#e3e8ef);color:var(--color-gray-500,#495057);font-size:var(--font-size-base,.875rem);font-weight:var(--font-weight-semibold,600)}.form-control-sm.is-invalid,.form-control.is-invalid,.form-select-sm.is-invalid,.form-select.is-invalid{background-image:none;border-color:var(--color-danger,#dc3545)}.form-control.is-invalid:focus,.form-select.is-invalid:focus{border-color:var(--color-danger,#dc3545);box-shadow:0 0 0 3px #dc35451f}.invalid-feedback,.text-danger{font-size:var(--font-size-sm,.8rem);font-weight:var(--font-weight-medium,500);margin-top:var(--spacing-xs,4px)}.alert-success{background:linear-gradient(135deg,var(--color-success-light,#d1f2df) 0,var(--color-success-lighter,#e6fff0) 100%);border:1px solid var(--color-success,#198754);border-radius:var(--radius-md,8px);color:#0f5132}.alert-danger,.alert-success{font-weight:var(--font-weight-medium,500);padding:var(--spacing-md,16px) var(--spacing-lg,24px)}.alert-danger{background:linear-gradient(135deg,var(--color-danger-light,#f8d7da) 0,var(--color-danger-lighter,#ffe6e6) 100%);border:1px solid var(--color-danger,#dc3545);border-radius:var(--radius-md,8px);color:#842029}.form-control-sm,.form-select-sm{border:2px solid var(--color-border-light,#e3e8ef);border-radius:var(--radius-md,8px);font-size:var(--font-size-base,.875rem);padding:var(--spacing-sm,8px) var(--spacing-md,16px);transition:var(--transition-fast,.2s ease)}.form-control-sm:hover,.form-select-sm:hover{border-color:var(--color-border-dark,#adb5bd);box-shadow:0 1px 4px #0000000f}.form-control-sm:focus,.form-select-sm:focus{border-color:var(--color-primary,#00804c);box-shadow:0 0 0 3px #00804c1f;outline:none}fieldset{background:var(--color-background-alt,#fafbfc);border:1px solid var(--color-border-lighter,#e8ecef);border-radius:var(--radius-md,8px);margin-bottom:var(--spacing-xl,32px);padding:var(--spacing-lg,24px)}fieldset legend{color:var(--color-gray-500,#495057);font-size:var(--font-size-lg,1rem);font-weight:var(--font-weight-semibold,600);margin-bottom:0;padding:0 var(--spacing-sm,8px);width:auto}.form-control-sm:disabled,.form-control:disabled,.form-select-sm:disabled,.form-select:disabled{background-color:var(--color-gray-50,#f8f9fa);cursor:not-allowed;opacity:.7}.login-card .form-control{background:var(--color-white,#fff);border:2px solid var(--color-border-light,#e3e8ef);border-radius:var(--radius-lg,10px);box-shadow:var(--shadow-sm,0 1px 3px rgba(0,0,0,.05));color:var(--color-gray-700,#2d3748);font-size:.95rem;padding:12px 16px;position:relative;transition:var(--transition-base,.3s cubic-bezier(.4,0,.2,1))}.login-card .form-control::-moz-placeholder{color:var(--color-gray-450,#94a3b8);font-weight:var(--font-weight-normal,400);-moz-transition:var(--transition-base,.3s ease);transition:var(--transition-base,.3s ease)}.login-card .form-control::placeholder{color:var(--color-gray-450,#94a3b8);font-weight:var(--font-weight-normal,400);transition:var(--transition-base,.3s ease)}.login-card .form-control:hover{background:var(--color-background-alt,#fafbfc);border-color:var(--color-gray-350,#b8c5d6);box-shadow:var(--shadow-md,0 2px 6px rgba(0,0,0,.08))}.login-card .form-control:focus{background:var(--color-white,#fff);border-color:var(--color-primary,#00804c);box-shadow:0 0 0 4px #00804c1a,0 2px 8px #00804c1f;outline:none}.login-card .form-control:focus::-moz-placeholder{color:var(--color-text-placeholder,#cbd5e1);transform:translate(4px)}.login-card .form-control:focus::placeholder{color:var(--color-text-placeholder,#cbd5e1);transform:translate(4px)}.login-card .form-control.is-invalid{animation:shake-error .4s ease;background:#fff5f5;border-color:var(--color-danger,#dc3545);box-shadow:0 0 0 3px #dc354514}@keyframes shake-error{0%,to{transform:translate(0)}25%{transform:translate(-8px)}75%{transform:translate(8px)}}.login-card .form-control.is-invalid:focus{border-color:var(--color-danger,#dc3545);box-shadow:0 0 0 4px #dc35451f,0 2px 8px #dc354526}.login-card .text-danger.small{animation:error-fadein .3s ease;color:var(--color-danger,#dc3545);display:block;font-size:var(--font-size-sm,.8rem);font-weight:var(--font-weight-medium,500);letter-spacing:var(--letter-spacing-wide,.2px);margin-top:var(--spacing-sm,8px)}@keyframes error-fadein{0%{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:translateY(0)}}.login-card .text-danger.text-center{animation:error-fadein .3s ease;background:#dc354514;border:1px solid rgba(220,53,69,.2);border-radius:var(--radius-md,8px);color:var(--color-danger,#dc3545);font-size:var(--font-size-base,.875rem);font-weight:var(--font-weight-medium,500);margin-bottom:0;margin-top:1rem;padding:10px 14px}.login-card .mb-3{margin-bottom:1.25rem}.login-card .mb-4{margin-bottom:1.75rem}.container .card.shadow{background:linear-gradient(135deg,var(--color-white,#fff) 0,var(--color-background-alt,#fafbfc) 100%);border-radius:var(--radius-xl,12px);box-shadow:0 4px 16px #00000014}.container .card.shadow:hover{box-shadow:0 6px 24px #0000001f}.container .card h3.text-primary{margin-bottom:var(--spacing-2xl,48px);padding-bottom:var(--spacing-md,16px)}.row.mb-3,.row.mb-4{margin-bottom:var(--spacing-xl,32px)}.col-md-12,.col-md-4,.col-md-6{padding-left:var(--spacing-md,16px);padding-right:var(--spacing-md,16px)}@media (max-width:768px){.container .card.shadow{padding:1.5rem!important}.container .card h3.text-primary{font-size:1.25rem}.col-md-4,.col-md-6{padding-left:var(--spacing-sm,8px);padding-right:var(--spacing-sm,8px)}}.card{--bs-card-bg:#fff;background-color:#fff;border-radius:var(--radius-card,16px);box-shadow:none!important}.container .card.shadow{background:linear-gradient(135deg,var(--color-background,#fff) 0,var(--color-background-alt,#fafbfc) 100%);border:1px solid var(--color-border-lighter,#e8ecef);border-radius:var(--radius-card,16px);transition:var(--transition-base,.3s ease)}.card.bg-light,.container .card.shadow,.container .card.shadow:hover{box-shadow:none!important}.card.bg-light{background:linear-gradient(135deg,var(--color-gray-50,#f8f9fc) 0,var(--color-background,#fff) 100%)!important;border:1px solid var(--color-border-lighter,#e8ecef);border-radius:var(--radius-card,16px)}.card,.card:hover,.shadow,.shadow:hover,[class*=-card],[class*=-card]:hover{box-shadow:none!important}.card,[class*=-card]{border-radius:var(--radius-card,16px)}.container .card h3.text-primary{border-bottom:2px solid var(--color-primary-light,#e6f4ed);color:var(--color-primary,#00804c);font-size:var(--font-size-3xl,1.5rem);font-weight:var(--font-weight-bold,700);letter-spacing:var(--letter-spacing-tight,-.02em);margin-bottom:24px;padding-bottom:12px}.panel-header{margin-bottom:2rem}.categories-grid{align-items:start;display:grid;gap:1.5rem;grid-template-columns:repeat(auto-fit,minmax(350px,1fr))}.category-header,.framework-header,.lesson-header,.subcategory-header{cursor:pointer;margin-bottom:0;-webkit-user-select:none;-moz-user-select:none;user-select:none}.category-header:hover,.framework-header:hover,.lesson-header:hover,.subcategory-header:hover{opacity:.8}.category-content,.framework-content,.lesson-content,.subcategory-content{margin-top:1rem}.category-content>.card,.framework-content>.card,.lesson-content>.card,.subcategory-content>.card{overflow:hidden;position:relative;transition:var(--transition-base,all .3s cubic-bezier(.4,0,.2,1))}.category-content>.card:before,.framework-content>.card:before,.lesson-content>.card:before,.subcategory-content>.card:before{background:radial-gradient(circle at center,#00804c00 0 40%,#00804c14 70%,#00804c26);content:"";inset:0;opacity:0;pointer-events:none;position:absolute;transition:opacity .3s ease;z-index:1}.category-content>.card:hover:not(:has(.card:hover)),.framework-content>.card:hover:not(:has(.card:hover)),.lesson-content>.card:hover:not(:has(.card:hover)),.subcategory-content>.card:hover:not(:has(.card:hover)){box-shadow:0 6px 20px #00804c26;transform:translateY(-3px)}.category-content>.card:hover:not(:has(.card:hover)):before,.framework-content>.card:hover:not(:has(.card:hover)):before,.lesson-content>.card:hover:not(:has(.card:hover)):before,.subcategory-content>.card:hover:not(:has(.card:hover)):before{opacity:1}.category-content>.card>*,.framework-content>.card>*,.lesson-content>.card>*,.subcategory-content>.card>*{position:relative;z-index:2}.slide-enter-active,.slide-leave-active{overflow:hidden;transition:all .3s ease}.slide-enter-from,.slide-leave-to{margin-top:0;max-height:0;opacity:0}.slide-enter-to,.slide-leave-from{margin-top:1rem;max-height:5000px;opacity:1}@media (max-width:768px){.categories-grid{grid-template-columns:1fr}}.sidebar-container{background:var(--color-background-light,#f8fafc);border-right:1px solid var(--color-border,#e5e7eb);height:100vh;overflow-x:hidden;overflow-y:auto;position:relative;transition:width var(--transition-base,.3s cubic-bezier(.4,0,.2,1));width:56px;will-change:width;z-index:var(--z-index-sticky,1020)}.sidebar-container:hover,.sidebar-container:not(.shrink){width:220px}.sidebar-container .d-flex.bg-light{background:transparent!important;border:none!important;padding:var(--spacing-sm,8px)!important}.sidebar-container nav{gap:var(--spacing-xs,4px)!important}.sidebar-container .nav-link>i:first-child{left:0;position:relative}.sidebar-container .nav-link.gap-2{gap:0!important}.sidebar-container .nav-link>span{margin-left:var(--spacing-md,16px);transition:opacity var(--transition-fast,.2s ease)}.sidebar-container .nav-item{line-height:1;position:relative}.sidebar-container img{background:rgba(var(--color-primary-rgb,0,128,76),.06);border:1px solid rgba(var(--color-primary-rgb,0,128,76),.15);border-radius:var(--radius-control,10px);display:block;height:40px!important;margin:0 auto var(--spacing-sm,8px) auto!important;padding:var(--spacing-xs,4px);transition:transform var(--transition-fast,.2s ease);width:40px!important}.sidebar-container img:hover{transform:scale(1.05)}.sidebar-container b{color:var(--color-text-secondary,#64748b)!important;display:block;font-size:.72rem!important;font-weight:600!important;margin-bottom:var(--spacing-sm,8px);max-width:100%;overflow:hidden;text-align:center;text-overflow:ellipsis;white-space:nowrap}.sidebar-container .sidebar-section{color:var(--color-text-secondary,#64748b);font-size:10px;font-weight:600;letter-spacing:.08em;list-style:none;margin:var(--spacing-md,16px) 0 var(--spacing-xs,4px);overflow:hidden;padding:0 var(--spacing-md,16px);text-transform:uppercase;white-space:nowrap}.sidebar-container .sidebar-section:first-child{margin-top:var(--spacing-xs,4px)}.sidebar-container.shrink .sidebar-section{background:var(--color-border,#e5e7eb);color:transparent;font-size:0;height:1px;margin:var(--spacing-sm,8px) var(--spacing-sm,8px) var(--spacing-xs,4px);padding:0}.sidebar-container .nav-link{align-items:center;background:transparent;border:1px solid transparent;border-radius:var(--radius-nav-pill,24px);box-sizing:border-box;color:var(--color-text-primary,#0f172a)!important;display:flex;flex-wrap:nowrap;font-size:.8rem!important;font-weight:400;height:36px;justify-content:flex-start;margin-bottom:2px;overflow:hidden;padding:var(--spacing-sm,8px) 10px!important;position:relative;text-decoration:none;transition:background var(--transition-fast,.2s ease),color var(--transition-fast,.2s ease)}.sidebar-container .nav-link:hover{background:rgba(var(--color-primary-rgb,0,128,76),.08);color:var(--color-primary,#00804c)!important}.sidebar-container .nav-link:hover i{color:var(--color-primary,#00804c)}.sidebar-container .nav-link.parent-active,.sidebar-container .nav-link.router-link-active,.sidebar-container .nav-link.router-link-exact-active{background:var(--color-primary-soft,rgba(0,128,76,.1));border:1px solid transparent;color:var(--color-primary,#00804c)!important;font-weight:600}.sidebar-container .nav-link.parent-active i,.sidebar-container .nav-link.router-link-active i,.sidebar-container .nav-link.router-link-exact-active i{color:var(--color-primary,#00804c)}.sidebar-container .nav-link.parent-active span,.sidebar-container .nav-link.router-link-active span,.sidebar-container .nav-link.router-link-exact-active span{color:var(--color-primary,#00804c)!important}.sidebar-container .nav-link i{align-items:center;color:var(--color-text-secondary,#64748b);display:inline-flex;flex-grow:0;flex-shrink:0;font-size:1rem!important;height:18px;justify-content:center;max-width:18px;min-width:18px;overflow:hidden;transition:color var(--transition-fast,.2s ease);width:18px}.sidebar-container .nav-link.logout-button{border:1px solid transparent}.sidebar-container .nav-link.logout-button i,.sidebar-container .nav-link.logout-button span{color:var(--color-danger,#ef4444)!important}.sidebar-container .nav-link.logout-button:hover{background:#ef444414}.sidebar-container .nav-link.logout-button:hover i,.sidebar-container .nav-link.logout-button:hover span{color:var(--color-danger-dark,#dc2626)!important}.sidebar-container .nav-item ul{margin-bottom:3px;margin-left:10px;margin-top:3px;max-height:400px;overflow-y:auto}.sidebar-container .nav-item ul .nav-link{border-left:2px solid var(--color-border,#e5e7eb);border-radius:var(--radius-nav-pill,24px);box-sizing:border-box;font-size:.75rem!important;height:28px;margin-bottom:2px;margin-right:var(--spacing-sm,8px);padding:5px var(--spacing-sm,8px) 5px 12px!important}.sidebar-container .nav-item ul .nav-link:hover{background:rgba(var(--color-primary-rgb,0,128,76),.08);border-left-color:var(--color-primary,#00804c)}.sidebar-container .nav-item ul .nav-link.router-link-active,.sidebar-container .nav-item ul .nav-link.router-link-exact-active{background:var(--color-primary-soft,rgba(0,128,76,.1));border-left-color:var(--color-primary,#00804c);font-weight:600}.sidebar-container .nav-link span.arrow{color:var(--color-text-tertiary,#94a3b8);font-size:.7rem!important;margin-left:auto;transition:transform var(--transition-fast,.2s ease)}.sidebar-container .fade-enter-active{transition:opacity var(--transition-fast,.2s ease) .1s!important}.sidebar-container .fade-leave-active{transition:opacity var(--transition-fast,.2s ease)!important}.sidebar-container .fade-enter-from,.sidebar-container .fade-leave-to{opacity:0}.sidebar-container .slide-enter-active,.sidebar-container .slide-leave-active{overflow:hidden;transition:all var(--transition-base,.3s cubic-bezier(.4,0,.2,1))!important;will-change:max-height,opacity}.sidebar-container .slide-enter-from,.sidebar-container .slide-leave-to{margin-bottom:0;margin-top:0;max-height:0;opacity:0}.sidebar-container .slide-enter-to,.sidebar-container .slide-leave-from{margin-bottom:var(--spacing-xs,4px);margin-top:var(--spacing-xs,4px);max-height:400px;opacity:1}.sidebar-container .slideDown-enter-active,.sidebar-container .slideDown-leave-active{overflow:hidden;transition:all var(--transition-base,.3s cubic-bezier(.4,0,.2,1))!important;will-change:max-height,opacity}.sidebar-container .slideDown-enter-from,.sidebar-container .slideDown-leave-to{margin-bottom:0;margin-top:0;max-height:0;opacity:0}.sidebar-container .slideDown-enter-to,.sidebar-container .slideDown-leave-from{margin-bottom:var(--spacing-xs,4px);margin-top:var(--spacing-xs,4px);max-height:400px;opacity:1}.sidebar-container .nav-link:focus-visible{border-radius:var(--radius-nav-pill,24px);box-shadow:0 0 0 3px rgba(var(--color-primary-rgb,0,128,76),.25);outline:none}@media (prefers-reduced-motion:reduce){.sidebar-container,.sidebar-container *,.sidebar-container :after,.sidebar-container :before{animation-duration:.01ms!important;animation-iteration-count:1!important;transition-duration:.01ms!important}}@media (prefers-contrast:high){.sidebar-container{background:var(--color-white,#fff);border-right:2px solid var(--color-black,#000)}.sidebar-container .nav-link{border:1px solid var(--color-black,#000);color:var(--color-black,#000)!important}.sidebar-container .nav-link.router-link-active{background:var(--color-primary,#00804c);border:2px solid var(--color-black,#000);color:var(--color-white,#fff)!important}}@media (max-width:768px){.sidebar-container{box-shadow:var(--shadow-lg,0 8px 24px rgba(0,0,0,.08));left:0;position:fixed;top:0;z-index:var(--z-index-fixed,1030)}}.overlay{align-items:flex-start;animation:fadeIn .3s forwards;background-color:transparent;display:flex;inset:0;justify-content:center;padding-top:50px;position:fixed;z-index:var(--z-index-modal-backdrop,1040)}.modal-box{animation:slideDown .3s forwards;background:var(--color-white,#fff);border-radius:var(--radius-xl,12px);box-shadow:var(--shadow-xl,0 6px 20px rgba(0,0,0,.12));max-width:90vw;opacity:0;padding:20px;transform:translateY(-100px);width:1500px}.modal-box.modal-large{width:800px}.overlay.scrollable{overflow-y:auto;padding:50px 20px}.modal-buttons{display:flex;gap:10px;justify-content:center;margin-top:15px}.modal-buttons button{cursor:pointer;padding:6px 12px}@keyframes fadeIn{to{background-color:#00000080}}.item-delete .buttons{display:flex;gap:10px;justify-content:center;margin-top:15px}.item-delete button{cursor:pointer;padding:6px 12px}.overlay.item-show{background-color:#00000080;overflow-y:auto;padding:50px 20px}.item-show .badge-warning-dark{background-color:#e6c227;color:#fff}.item-show .planned-bg{background-color:#f06595;color:#fff}.quick-card{border:1px solid var(--color-border-lighter,#e8ecef);border-radius:var(--radius-card,16px);box-shadow:none!important;cursor:pointer;transition:all var(--transition-base,.3s cubic-bezier(.4,0,.2,1));--quick-accent:var(--color-primary,#00804c);--quick-accent-rgb:31,122,74}.quick-card:hover{border-color:var(--quick-accent);box-shadow:none!important;transform:translateY(-5px)}.quick-card:has(.bi-book){--quick-accent:#3b82f6;--quick-accent-rgb:59,130,246}.quick-card:has(.bi-mortarboard){--quick-accent:#fd7e14;--quick-accent-rgb:253,126,20}.quick-card:has(.bi-collection){--quick-accent:#0dcaf0;--quick-accent-rgb:13,202,240}.quick-card:has(.bi-person){--quick-accent:#e11d48;--quick-accent-rgb:225,29,72}.quick-card:has(.bi-robot){--quick-accent:#7c3aed;--quick-accent-rgb:124,58,237}.quick-card:has(.bi-box-seam){--quick-accent:#f59e0b;--quick-accent-rgb:245,158,11}.quick-card .card-body>i.bi{color:var(--quick-accent)!important}.quick-card:hover i{transform:scale(1.1);transition:transform var(--transition-base,.3s ease)}.quick-card .card-title{font-size:var(--font-size-xl,1.1rem);font-weight:var(--font-weight-semibold,600);margin-bottom:var(--spacing-sm,.5rem)}.quick-card:focus-visible{outline:3px solid var(--color-primary-lighter,#d4eddd);outline-offset:2px}.quick-card:active{box-shadow:0 4px 12px #00804c1f!important;transform:translateY(-2px)}.dashboard .btn-outline-primary{background-color:var(--color-gray-50,#f8f9fc);border:1px solid var(--color-border-lighter,#e8ecef);border-radius:var(--radius-lg,10px);box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;color:var(--color-text-primary,#212529);font-weight:var(--font-weight-medium,500);padding:.625rem 1.25rem;transition:all var(--transition-base,.3s ease)}.dashboard .btn-outline-primary:hover{background-color:var(--color-white,#fff);border-color:var(--color-primary,#00804c);box-shadow:0 4px 12px #00804c40,0 2px 6px #00804c26;color:var(--color-text-primary,#212529);transform:translateY(-2px)}.dashboard .btn-outline-primary:active{box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;transform:translateY(0)}.dashboard .btn-outline-primary i{color:var(--color-text-primary,#212529);font-size:1rem;transition:transform var(--transition-fast,.2s ease)}.dashboard .btn-outline-primary:hover i{transform:scale(1.1)}.dashboard .btn-outline-success{background-color:var(--color-gray-50,#f8f9fc);border:1px solid var(--color-border-lighter,#e8ecef);border-radius:var(--radius-lg,10px);box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;color:var(--color-text-primary,#212529);font-weight:var(--font-weight-medium,500);padding:.625rem 1.25rem;transition:all var(--transition-base,.3s ease)}.dashboard .btn-outline-success:hover{background-color:var(--color-white,#fff);border-color:var(--color-success,#198754);box-shadow:0 4px 12px #19875440,0 2px 6px #19875426;color:var(--color-text-primary,#212529);transform:translateY(-2px)}.dashboard .btn-outline-success:active{box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;transform:translateY(0)}.dashboard .btn-outline-success i{color:var(--color-text-primary,#212529);font-size:1rem;transition:transform var(--transition-fast,.2s ease)}.dashboard .btn-outline-success:hover i{transform:scale(1.1)}.dashboard .btn-outline-success:disabled{cursor:not-allowed;opacity:.6;transform:none}.dashboard .btn-outline-success:disabled:hover{background-color:var(--color-gray-50,#f8f9fc);border-color:var(--color-border-lighter,#e8ecef);box-shadow:0 2px 4px #0000000f,0 1px 2px #0000000a;transform:none}.dashboard .catalog-btn-wrapper{display:flex;position:relative}.dashboard .catalog-btn-wrapper>.btn{text-align:left;width:100%}.dashboard .catalog-toast{bottom:calc(100% + .5rem);box-shadow:0 2px 8px #00000026;font-size:var(--font-size-sm,.8rem);left:50%;margin:0;padding:.25rem .75rem;position:absolute;transform:translate(-50%);white-space:nowrap;z-index:10}.dashboard .card{background:var(--color-white,#fff);border:1px solid var(--color-border-lighter,#eef0f3);border-radius:var(--radius-3xl,16px)}.dashboard .card.shadow:not(.quick-card){box-shadow:0 1px 3px #0000000a!important;transition:box-shadow .2s ease,transform .2s ease}.dashboard .card.shadow:not(.quick-card):hover{box-shadow:0 8px 24px #00000014!important}.dashboard .card h6.text-primary{align-items:center;color:var(--color-text-primary,#0f172a)!important;display:flex;font-size:1rem;font-weight:var(--font-weight-bold,700);letter-spacing:-.01em;margin-bottom:1rem}.dashboard .card h6 i.bi{color:var(--color-primary,#00804c)!important}.dashboard .card:has(h2){padding:1rem 1.5rem!important}.dashboard .card h2{font-size:1.25rem;margin:0}.dashboard .card:has(h2) .text-muted.mt-5{margin-top:0!important}.dashboard .quick-card .card-body>i.bi{align-items:center;background:rgba(var(--quick-accent-rgb,0,128,76),.12);border-radius:var(--radius-2xl,14px);display:inline-flex;height:56px;justify-content:center;margin-bottom:.75rem;width:56px}.dashboard .quick-card .card-body>i.bi>svg{height:28px;width:28px}.dashboard .badge{border-radius:var(--radius-sm,6px);font-weight:var(--font-weight-bold,700);letter-spacing:.3px;padding:.4em .6em}.dashboard .card .border.rounded.bg-light{background:transparent!important;border:0!important;border-bottom:1px solid var(--color-border-lighter,#eef0f3)!important;border-radius:0!important;box-shadow:none!important;padding:10px 0!important}.dashboard .card .border.rounded.bg-light:last-child{border-bottom:0!important}.dashboard .card:has(.bi-person-exclamation) ul{list-style:none;margin:0;padding:0}.dashboard .card:has(.bi-person-exclamation) li{align-items:center;border-bottom:1px solid var(--color-border-lighter,#eef0f3);display:flex;font-size:.9rem;gap:10px;padding:10px 0}.dashboard .card:has(.bi-person-exclamation) li:last-child{border-bottom:0}.dashboard .card:has(.bi-person-exclamation) li:before{background:var(--color-primary,#00804c);border-radius:50%;box-shadow:0 0 0 3px rgba(var(--bs-primary-rgb,0,128,76),.15);content:"";flex-shrink:0;height:8px;width:8px}.dashboard .d-flex.gap-4>.card{margin-top:1rem!important;padding:1rem 1.25rem!important}.dashboard .d-flex.gap-4>.card h6.text-primary{margin-bottom:.75rem}.dashboard .d-flex.gap-4>.card .d-flex.flex-column.gap-2{gap:0!important}.dashboard .d-flex.gap-4>.card .border.rounded.bg-light{padding:.5rem 0!important;row-gap:4px}.dashboard .card:has(.bi-clock) .border.rounded.bg-light>div{flex:1 1 100%!important}.dashboard .card:has(.bi-clock) .border.rounded.bg-light>div:last-child{align-items:center!important;gap:.75rem!important;justify-content:flex-start!important;margin-top:2px}.dashboard .card:has(.bi-clock) .text-primary{font-size:.85rem;font-weight:700;line-height:1.2}.dashboard .card:has(.bi-clock) .text-muted{font-size:.72rem}.dashboard .card:has(.bi-clock) .text-secondary{color:var(--color-text-muted,#94a3b8)!important;flex-shrink:0;font-size:.72rem!important;width:118px!important}.dashboard .card:has(.bi-clock) .badge{border-radius:6px;display:block!important;flex:1 1 0!important;font-size:.66rem;font-weight:700;letter-spacing:.03em;max-width:200px;min-height:0!important;min-width:0;overflow:hidden;padding:.25em .6em!important;text-align:center;text-overflow:ellipsis;white-space:nowrap}.dashboard .card:has(.bi-clock) .badge.bg-success{background:#00804c1f!important;color:#00804c!important}.dashboard .card:has(.bi-clock) .badge.bg-primary{background:#2563eb1f!important;color:#2563eb!important}.dashboard .card:has(.bi-clock) .badge.bg-danger{background:#dc26261f!important;color:#dc2626!important}.dashboard .card:has(.bi-bar-chart) .d-flex.flex-grow-1.flex-column{flex-grow:0!important;gap:0!important;justify-content:flex-start!important}.dashboard .card:has(.bi-bar-chart) .d-flex.align-items-center.gap-2>i.bi{align-items:center;border-radius:9px;display:inline-flex;flex-shrink:0;height:32px;justify-content:center;width:32px}.dashboard .card:has(.bi-bar-chart) .d-flex.align-items-center.gap-2>i.bi>svg{height:17px;width:17px}.dashboard .card:has(.bi-bar-chart) .d-flex.align-items-center.gap-2>span{font-size:.85rem;font-weight:500}.dashboard .card:has(.bi-bar-chart) .badge{border-radius:7px;font-weight:700;min-height:0!important;min-width:2.4em;padding:.3em .55em!important}.dashboard .card:has(.bi-bar-chart) .bi-check-circle{background:#00804c1f;color:#00804c!important}.dashboard .card:has(.bi-bar-chart) .border.rounded.bg-light:has(.bi-check-circle) .badge{background:#00804c1f!important;color:#00804c!important}.dashboard .card:has(.bi-bar-chart) .bi-pencil-square{background:#d9770624;color:#d97706!important}.dashboard .card:has(.bi-bar-chart) .border.rounded.bg-light:has(.bi-pencil-square) .badge{background:#d9770626!important;color:#b45309!important}.dashboard .card:has(.bi-bar-chart) .bi-search{background:#2563eb1f;color:#2563eb!important}.dashboard .card:has(.bi-bar-chart) .border.rounded.bg-light:has(.bi-search) .badge{background:#2563eb1f!important;color:#2563eb!important}.dashboard .card:has(.bi-bar-chart) .bi-palette{background:#64748b26;color:#475569!important}.dashboard .card:has(.bi-bar-chart) .border.rounded.bg-light:has(.bi-palette) .badge{background:#64748b26!important;color:#475569!important}.dashboard .card:has(.bi-bar-chart) .bi-exclamation-triangle{background:#dc26261f;color:#dc2626!important}.dashboard .card:has(.bi-bar-chart) .border.rounded.bg-light:has(.bi-exclamation-triangle) .badge{background:#dc26261f!important;color:#dc2626!important}.dashboard .d-flex.gap-4>.card:has(.bi-person-exclamation) li{padding:5px 0}@media (max-width:991px){.quick-card .card-body{padding:var(--spacing-xl,32px) var(--spacing-lg,24px)}}@media (max-width:767px){.quick-card i{font-size:2.5rem!important}.quick-card .card-title{font-size:var(--font-size-lg,1rem)}.quick-card .card-text{font-size:var(--font-size-xs,.75rem)!important}}@media (prefers-reduced-motion:reduce){.quick-card,.quick-card:hover,.quick-card:hover i{transition-duration:.01ms!important}}@media (prefers-contrast:high){.quick-card{border:2px solid var(--color-text-primary,#212529)}.quick-card:hover{border-color:var(--color-primary,#00804c);border-width:3px}}.page-hero{align-items:center;background:radial-gradient(560px 200px at 100% -40%,rgba(0,128,76,.12),transparent 60%),linear-gradient(135deg,#fff,#f2f8f4 70%,#eaf4ee);border:1px solid #e7ece8;border-radius:16px;box-shadow:0 1px 2px #1020180a,0 10px 30px -16px #1020182e;color:var(--color-text-primary,#0f172a);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:20px 24px;width:100%}.page-hero-content{display:flex;flex-direction:column;justify-content:center;min-height:52px;padding-left:68px;position:relative}.page-hero-content h1{color:#0f172a;font-size:1.6rem;font-weight:800;letter-spacing:-.02em;line-height:1.15;margin:0}.page-hero-content p{color:#64748b;font-size:.8rem;margin:2px 0 0;opacity:1}.page-hero-content h1 .bi{align-items:center;background:linear-gradient(135deg,#009f5e,#00804c 60%,#006b41);border-radius:14px;box-shadow:0 4px 12px #00804c4d;color:#fff;display:flex;height:52px;justify-content:center;left:0;position:absolute;top:50%;transform:translateY(-50%);width:52px}.page-hero-content h1 .bi>svg{height:26px;width:26px}.page-hero-actions{align-items:center;display:flex;gap:.75rem}.page-hero-btn{align-items:center;border:none;border-radius:10px;cursor:pointer;display:inline-flex;font-size:.875rem;font-weight:600;gap:.5rem;padding:.5rem 1rem;transition:all .2s ease}.page-hero-btn--primary{background:linear-gradient(135deg,#009f5e,#00804c);box-shadow:0 4px 12px #00804c4d;color:#fff}.page-hero-btn--primary:hover{filter:brightness(1.05);transform:translateY(-1px)}.page-hero-btn--secondary{background:#00804c14;border:1px solid rgba(0,128,76,.2);color:#00804c}.page-hero-btn--secondary:hover{background:#00804c24}html.dark-theme .page-hero{background:radial-gradient(560px 200px at 100% -40%,rgba(0,128,76,.18),transparent 60%),linear-gradient(135deg,var(--color-background-alt,#111c30),#12233a);border-color:var(--color-border,#1a2d4a);box-shadow:0 1px 2px #0006,0 10px 30px -16px #0009}html.dark-theme .page-hero,html.dark-theme .page-hero-content h1{color:var(--color-text-primary,#e2e8f0)}html.dark-theme .page-hero-content p{color:var(--color-text-muted,#94a3b8)}:root{--product-course-color:#00804c;--product-course-bg:#e6f4ed;--product-itinerary-color:#00804c;--product-itinerary-bg:#e6f4ed;--product-header-bg:linear-gradient(135deg,#00804c,#006639);--product-table-stripe:#f8fafc;--product-hover-bg:#f1f5f9;--product-border-subtle:#e2e8f0;--product-br-xs:4px;--product-br-sm:6px;--product-br-md:8px;--product-br-lg:10px;--product-br-xl:12px;--product-br-pill:50px;--product-shadow-xs:0 1px 2px rgba(0,0,0,.04);--product-shadow-sm:0 2px 4px rgba(0,0,0,.06);--product-shadow-md:0 2px 8px rgba(0,0,0,.08);--product-shadow-lg:0 4px 12px rgba(0,0,0,.1);--product-shadow-xl:0 8px 24px rgba(0,0,0,.12);--product-stat-shadow:var(--product-shadow-md);--product-sp-xs:.25rem;--product-sp-sm:.5rem;--product-sp-md:.75rem;--product-sp-lg:1rem;--product-sp-xl:1.25rem;--product-sp-2xl:1.5rem;--product-transition-fast:.15s ease;--product-transition-normal:.2s ease;--product-transition-slow:.3s ease}.product-catalog{background:#f8fafc;display:flex;flex-direction:column;gap:1.25rem;min-height:calc(100vh - 60px);padding:1.25rem}.product-shortcuts{position:relative}.product-shortcuts__btn{align-items:center;background:rgba(var(--bs-primary-rgb,0,128,76),.08);border:none;border-radius:6px;color:var(--color-primary,#00804c);cursor:pointer;display:flex;font-size:.875rem;height:32px;justify-content:center;transition:all .15s ease;width:32px}.product-shortcuts__btn:hover{background:rgba(var(--bs-primary-rgb,0,128,76),.16)}.product-shortcuts__dropdown{background:#fff;border-radius:8px;box-shadow:0 10px 40px #00000026;margin-top:.5rem;min-width:200px;overflow:hidden;position:absolute;right:0;top:100%;z-index:1000}.product-shortcuts__header{background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#64748b;font-size:.6875rem;font-weight:600;letter-spacing:.025em;padding:.625rem .875rem;text-transform:uppercase}.product-shortcuts__list{padding:.5rem 0}.product-shortcuts__item{align-items:center;color:#334155;display:flex;font-size:.75rem;gap:.75rem;padding:.375rem .875rem}.product-shortcuts__item kbd{align-items:center;background:#f1f5f9;border:1px solid #e2e8f0;border-radius:4px;color:#475569;display:inline-flex;font-family:inherit;font-size:.625rem;font-weight:600;justify-content:center;min-width:24px;padding:.125rem .375rem}.product-shortcuts__backdrop{inset:0;position:fixed;z-index:999}.product-stats{display:grid;gap:.625rem;grid-template-columns:repeat(auto-fit,minmax(140px,1fr))}.product-stat{align-items:center;background:#fff;border:1px solid var(--product-border-subtle);border-radius:8px;box-shadow:var(--product-stat-shadow);display:flex;gap:.625rem;padding:.625rem .875rem;transition:all .2s ease}.product-stat:hover{box-shadow:0 3px 8px #00000014;transform:translateY(-1px)}.product-stat--clickable{cursor:pointer}.product-stat--active,.product-stat--course.product-stat--active{background:var(--product-course-bg);border-color:var(--product-course-color)}.product-stat--itinerary.product-stat--active{background:var(--product-itinerary-bg);border-color:var(--product-itinerary-color)}.product-stat__icon{align-items:center;border-radius:6px;display:flex;flex-shrink:0;font-size:.9375rem;height:32px;justify-content:center;width:32px}.product-stat__icon--total{background:#e6f4ed;color:#00804c}.product-stat__icon--course{background:var(--product-course-bg);color:var(--product-course-color)}.product-stat__icon--itinerary{background:var(--product-itinerary-bg);color:var(--product-itinerary-color)}.product-stat__content{flex:1;min-width:0}.product-stat__value{color:#1e293b;font-size:1.25rem;font-weight:700;line-height:1;margin-bottom:.125rem}.product-stat__label{color:#64748b;font-size:.6875rem;font-weight:500;letter-spacing:.3px;overflow:hidden;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.product-stat__filtered{color:#f59e0b;font-weight:600}.product-stat--warning{border-left:4px solid #f59e0b}.product-stat--danger{border-left:4px solid #ef4444}.product-stat__icon--warning{background:#fef3c7;color:#b45309}.product-stat__icon--danger{background:#fee2e2;color:#b91c1c}.product-stat--compact{padding:.5rem .75rem}.product-stat--compact .product-stat__value{font-size:1.125rem}.product-stat--compact .product-stat__icon{font-size:.875rem;height:28px;width:28px}.product-toolbar{align-items:center;background:#fff;border:1px solid var(--product-border-subtle);border-radius:8px;box-shadow:var(--product-stat-shadow);display:flex;flex-wrap:wrap;gap:.75rem;padding:.625rem .875rem}.product-toolbar__search{flex:1;max-width:450px;min-width:280px}.product-toolbar__filters{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem}.product-toolbar__actions{align-items:center;display:flex;gap:.5rem;margin-left:auto}.product-search{position:relative;width:100%}.product-search__input{background:#f8fafc;border:2px solid #e2e8f0;border-radius:8px;color:#1e293b;font-size:.875rem;padding:.625rem 4rem .625rem 2.5rem;transition:all .2s ease;width:100%}.product-search__input:focus{background:#fff;border-color:#00804c;box-shadow:0 0 0 3px #00804c1a;outline:none}.product-search__input::-moz-placeholder{color:#94a3b8}.product-search__input::placeholder{color:#94a3b8}.product-search__icon{color:#94a3b8;font-size:.9rem;left:.875rem;pointer-events:none}.product-search__clear,.product-search__icon{position:absolute;top:50%;transform:translateY(-50%)}.product-search__clear{background:#e2e8f0;border:none;border-radius:4px;color:#64748b;cursor:pointer;font-size:.8rem;line-height:1;padding:.25rem;right:.5rem;transition:all .15s ease}.product-search__clear:hover{background:#cbd5e1;color:#334155}.product-search__switch{cursor:pointer;display:inline-block;height:18px;position:absolute;right:2rem;top:50%;transform:translateY(-50%);width:32px}.product-search__switch input{height:0;opacity:0;width:0}.product-search__switch-slider{background-color:#cbd5e1;border-radius:18px;inset:0;position:absolute;transition:all .2s ease}.product-search__switch-slider:before{background-color:#fff;border-radius:50%;bottom:2px;box-shadow:0 1px 2px #00000026;content:"";height:14px;left:2px;position:absolute;transition:all .2s ease;width:14px}.product-search__switch input:checked+.product-search__switch-slider{background-color:#22c55e}.product-search__switch input:checked+.product-search__switch-slider:before{transform:translate(14px)}.product-search__switch:hover .product-search__switch-slider{background-color:#94a3b8}.product-search__switch input:checked+.product-search__switch-slider:hover{background-color:#00804c}.product-chip{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.375rem .75rem;transition:all .15s ease;white-space:nowrap}.product-chip:hover{border-color:#00804c;color:#00804c}.product-chip--active{background:#00804c;border-color:#00804c;color:#fff}.product-chip--active:hover{background:#5b6fe0;border-color:#5b6fe0;color:#fff}.product-chip__remove{border-radius:3px;display:inline-flex;margin:-.125rem -.25rem -.125rem 0;padding:.125rem;transition:background .15s ease}.product-chip__remove:hover{background:#fff3}.product-chip__badge{align-items:center;background:#00000026;border-radius:9px;display:inline-flex;font-size:.6875rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 5px}.product-chip--favorites{background:#fef3c7;border-color:#f59e0b;color:#b45309}.product-chip--favorites:hover{background:#fde68a;border-color:#d97706;color:#92400e}.product-chip--favorites.product-chip--active{background:#f59e0b;border-color:#f59e0b;color:#fff}.product-chip--favorites.product-chip--active:hover{background:#d97706;border-color:#d97706}.product-chip--favorites .product-chip__badge{background:#b4530933}.product-chip--favorites.product-chip--active .product-chip__badge{background:#ffffff40}.product-chip--date{background:#dbeafe;border-color:#3b82f6;color:#1e40af}.product-chip--date:hover{background:#bfdbfe;border-color:#2563eb;color:#1e3a8a}.product-chip--warning{background:#fef3c7;border-color:#f59e0b;color:#92400e}.product-chip--warning:hover{background:#fde68a;border-color:#d97706;color:#78350f}.product-view-toggle{background:#f1f5f9;border-radius:6px;display:flex;padding:3px}.product-view-toggle__btn{align-items:center;background:transparent;border:none;border-radius:4px;color:#64748b;cursor:pointer;display:flex;font-size:1rem;height:32px;justify-content:center;transition:all .15s ease;width:32px}.product-view-toggle__btn:hover{color:#334155}.product-view-toggle__btn.active{background:#fff;box-shadow:0 1px 3px #0000001a;color:#00804c}.product-perspective-toggle{-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#ffffff26;border-radius:8px;display:flex;padding:3px}.product-perspective-toggle__btn{align-items:center;background:transparent;border:none;border-radius:6px;color:#fffc;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.375rem .75rem;transition:all .2s ease;white-space:nowrap}.product-perspective-toggle__btn:hover{background:#ffffff1a;color:#fff}.product-perspective-toggle__btn.active{background:#fff;box-shadow:0 2px 8px #00000026;color:#00804c}.product-perspective-toggle__btn i{font-size:.875rem}.product-content{align-items:flex-start;display:flex;gap:1.25rem}.product-content__sidebar{flex-shrink:0;position:sticky;top:1rem;width:260px}.product-content__main{display:flex;flex:1;flex-direction:column;min-width:0}.product-content__main>.product-kanban,.product-content__main>.product-table-wrapper{flex:1;min-height:0}.product-distribution{background:#fff;border:1px solid var(--product-border-subtle);border-radius:8px;box-shadow:var(--product-stat-shadow);padding:.625rem .875rem}.product-distribution__bar{background:#f1f5f9;border-radius:4px;display:flex;height:8px;margin-bottom:.5rem;overflow:hidden}.product-distribution__segment{height:100%;min-width:2px;transition:all .3s ease}.product-distribution__segment:first-child{border-radius:4px 0 0 4px}.product-distribution__segment:last-child{border-radius:0 4px 4px 0}.product-distribution__segment:only-child{border-radius:4px}.product-distribution__legend{display:flex;flex-wrap:wrap;gap:.375rem .75rem}.product-distribution__item{align-items:center;color:#475569;display:flex;font-size:.6875rem;font-weight:500;gap:.25rem}.product-distribution__dot{border-radius:50%;box-shadow:0 0 0 1px #0000001a;flex-shrink:0;height:8px;width:8px}.product-distribution__row{margin-bottom:.5rem}.product-distribution__row:last-child{margin-bottom:0}.product-distribution__row .product-distribution__bar{margin-bottom:.25rem}.product-distribution__bar-wrapper{align-items:center;display:flex;gap:.375rem;margin-bottom:.25rem}.product-distribution__bar-wrapper .product-distribution__bar{flex:1;margin-bottom:0}.product-distribution__label{color:#64748b;flex-shrink:0;font-size:.625rem;font-weight:600;letter-spacing:.025em;min-width:22px;text-transform:uppercase}.product-toolbar--contextual{animation:slideDown .2s ease;background:#1e293b;border-color:#334155;color:#fff}@keyframes slideDown{0%{opacity:0;transform:translateY(-8px)}to{opacity:1;transform:translateY(0)}}.product-toolbar__selection-info{align-items:center;display:flex;font-size:.875rem;font-weight:500;gap:.5rem}.product-toolbar__selection-count{align-items:center;background:#00804c;border-radius:12px;color:#fff;display:inline-flex;font-size:.75rem;font-weight:700;height:24px;justify-content:center;min-width:24px;padding:0 6px}.product-toolbar__bulk-actions{align-items:center;display:flex;gap:.5rem}.product-toolbar__bulk-btn{align-items:center;background:transparent;border:1px solid hsla(0,0%,100%,.2);border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.8125rem;font-weight:500;gap:.375rem;padding:.5rem .875rem;transition:all .15s ease}.product-toolbar__bulk-btn:hover:not(:disabled){background:#ffffff1a;border-color:#ffffff4d}.product-toolbar__bulk-btn:disabled{cursor:not-allowed;opacity:.4}.product-toolbar__bulk-btn--primary{background:#00804c;border-color:#00804c}.product-toolbar__bulk-btn--primary:hover:not(:disabled){background:#5b6fe0;border-color:#5b6fe0}.product-toolbar__bulk-btn--danger{border-color:#fca6a64d;color:#fca5a5}.product-toolbar__bulk-btn--danger:hover:not(:disabled){background:#ef444433;border-color:#fca6a680}.product-toolbar__selection{align-items:center;border-right:1px solid #e2e8f0;display:flex;gap:.5rem;margin-right:.75rem;padding-right:.75rem}.product-toolbar__selection-badge{align-items:center;background:#00804c;border-radius:4px;color:#fff;display:inline-flex;font-size:.8125rem;font-weight:600;gap:.375rem;padding:.375rem .625rem}.product-toolbar__selection-badge i{font-size:.75rem}.product-toolbar__selection-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:inline-flex;font-size:.8125rem;gap:.25rem;justify-content:center;padding:.375rem .625rem;transition:all .15s ease}.product-toolbar__selection-btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1;color:#1e293b}.product-toolbar__selection-btn:disabled{cursor:not-allowed;opacity:.4}.product-toolbar__selection-btn--disabled{opacity:.4}.product-toolbar__selection-btn--compare{border-color:#c7d2fe;color:#6366f1}.product-toolbar__selection-btn--compare:hover:not(:disabled){background:#eef2ff;border-color:#a5b4fc;color:#4f46e5}.product-toolbar__selection-btn--excel{border-color:#a7f3d0;color:#059669}.product-toolbar__selection-btn--excel:hover:not(:disabled){background:#ecfdf5;border-color:#6ee7b7;color:#047857}.product-toolbar__selection-btn--clear{border-color:#fecaca;color:#dc2626}.product-toolbar__selection-btn--clear:hover{background:#fef2f2;border-color:#f87171;color:#b91c1c}.product-toolbar__count{color:#64748b;font-size:.8125rem;white-space:nowrap}.product-legend-wrapper{position:relative}.product-legend-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#64748b;cursor:pointer;display:flex;font-size:.875rem;height:28px;justify-content:center;transition:all .15s ease;width:28px}.product-legend-btn:hover{background:#f1f5f9;border-color:#cbd5e1;color:#475569}.product-legend-btn--active{background:var(--product-header-bg);border-color:var(--product-header-bg);color:#fff}.product-legend-backdrop{inset:0;position:fixed;z-index:999}.product-legend-popup{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 20px #0000001f;max-height:60vh;overflow:hidden;position:absolute;right:0;top:calc(100% + 4px);width:340px;z-index:1000}.product-legend-popup__header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#334155;display:flex;font-size:.75rem;font-weight:600;justify-content:space-between;padding:.5rem .75rem}.product-legend-popup__close{align-items:center;background:transparent;border:none;border-radius:3px;color:#64748b;cursor:pointer;display:flex;height:20px;justify-content:center;transition:all .15s ease;width:20px}.product-legend-popup__close:hover{background:#e2e8f0;color:#334155}.product-legend-popup__content{max-height:calc(60vh - 36px);overflow-y:auto;padding:.5rem}.product-legend-popup__group{border-bottom:1px solid #f1f5f9;margin-bottom:.5rem;padding-bottom:.5rem}.product-legend-popup__group:last-child{border-bottom:none;margin-bottom:0;padding-bottom:0}.product-legend-popup__group-name{color:#64748b;font-size:.6875rem;font-weight:600;letter-spacing:.025em;margin-bottom:.25rem;text-transform:uppercase}.product-legend-popup__codes{display:flex;flex-wrap:wrap;gap:.25rem}.product-legend-popup__item{align-items:center;display:inline-flex;gap:.25rem}.product-legend-popup__badge{align-items:center;border-radius:50%;display:inline-flex;font-size:.5625rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 .25rem}.product-legend-popup__name{color:#64748b;font-size:.625rem}.product-table__row--outside-filter{opacity:.5}.product-table__row--outside-filter:hover{opacity:.75}.product-card--outside-filter{opacity:.5}.product-card--outside-filter:hover{opacity:.75}.kanban-card--outside-filter{opacity:.5}.kanban-card--outside-filter:hover{opacity:.75}.product-sidebar-toggle{background:var(--product-header-bg);border:none;border-radius:50%;bottom:1.5rem;box-shadow:0 4px 20px #00804c66;color:#fff;cursor:pointer;display:none;height:48px;left:1.5rem;position:fixed;transition:all .2s ease;width:48px;z-index:100}.product-sidebar-toggle:hover{transform:scale(1.05)}.product-sidebar-toggle__badge{background:#ef4444;border:2px solid #fff;border-radius:50%;height:10px;position:absolute;right:8px;top:8px;width:10px}.product-content__sidebar--collapsed{display:none}.product-filters{background:#fff;border:1px solid var(--product-border-subtle);border-radius:10px;box-shadow:var(--product-stat-shadow);padding:1.25rem;position:sticky;top:1rem}.product-filters__header{align-items:center;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;margin-bottom:1rem;padding-bottom:.75rem}.product-filters__title{align-items:center;color:#1e293b;display:flex;font-size:.875rem;font-weight:600;gap:.5rem;margin:0}.product-filters__clear{background:none;border:none;border-radius:4px;color:#00804c;cursor:pointer;font-size:.75rem;padding:.25rem .5rem;transition:all .15s ease}.product-filters__clear:hover{background:#eff6ff}.product-filters__group{margin-bottom:.75rem}.product-filters__group:last-child{margin-bottom:0}.product-filters__label{align-items:center;background:#f8fafc;border-radius:4px;box-shadow:0 1px 2px #0000000f;color:#334155;display:flex;font-size:.6875rem;font-weight:600;gap:.3rem;margin-bottom:.375rem;padding:.3rem .4rem}.product-filters__label i{color:#00804c;font-size:.75rem}.product-filters__select{background:#fff;border:1px solid #e2e8f0;border-radius:5px;color:#1e293b;cursor:pointer;font-size:.75rem;padding:.4rem .6rem;transition:all .15s ease;width:100%}.product-filters__select:hover{border-color:#cbd5e1}.product-filters__select:focus{border-color:#00804c;box-shadow:0 0 0 2px #00804c1a;outline:none}.product-filters__type-options{display:flex;gap:.375rem}.product-filters__type-grid{display:grid;gap:4px;grid-template-columns:1fr 1fr}.product-filters__type-btn{background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;flex:1;font-size:11px;font-weight:500;padding:4px 6px;text-align:center;transition:all .15s ease}.product-filters__type-btn:hover{border-color:#00804c;color:#00804c}.product-filters__type-btn.active{background:#00804c;border-color:#00804c;color:#fff}.product-filters__range{align-items:center;display:flex;gap:.5rem}.product-filters__range-input{border:1px solid #e2e8f0;border-radius:6px;flex:1;font-size:.8125rem;padding:.5rem;text-align:center;width:60px}.product-filters__range-input:focus{border-color:#00804c;outline:none}.product-filters__range-sep{color:#94a3b8;font-size:.75rem}.product-filters__status-list{display:flex;flex-direction:column;gap:.375rem}.product-filters__status-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#475569;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.5rem;padding:.5rem .75rem;text-align:left;transition:all .15s ease;width:100%}.product-filters__status-btn:hover{background:#f8fafc;border-color:#00804c}.product-filters__status-btn.active{background:#eff6ff;border-color:#00804c;color:#00804c}.product-filters__status-dot{border-radius:50%;box-shadow:0 0 0 1px #0000001a;flex-shrink:0;height:10px;width:10px}.product-filters__status-indicator{align-items:center;background:#f8fafc;border-radius:6px;color:#475569;display:flex;font-size:.75rem;gap:.5rem;margin-top:.5rem;padding:.375rem .625rem}.product-filters__status-chips{display:flex;flex-wrap:wrap;gap:.25rem;margin-bottom:.375rem}.product-filters__status-chip{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:999px;color:#475569;cursor:pointer;display:inline-flex;font-size:.625rem;font-weight:500;gap:.2rem;padding:.2rem .4rem;transition:all .15s ease}.product-filters__status-chip:hover{background:#f8fafc;border-color:var(--status-color,#00804c)}.product-filters__status-chip--active{background:#1e293b;border-color:#1e293b;box-shadow:0 1px 3px #00000026;color:#fff;font-weight:600}.product-filters__status-chip--active:hover{background:#334155;border-color:#334155}.product-filters__status-chip-dot{background:var(--status-color,#94a3b8);border-radius:50%;height:5px;width:5px}.product-filters__status-chip--active .product-filters__status-chip-dot{background:var(--status-color,#94a3b8);box-shadow:0 0 0 2px #ffffff4d}.product-filters__status-codes{background:#f8fafc;border-radius:6px;margin-top:.375rem;padding:.5rem}.product-filters__status-codes-header{border-left:3px solid #94a3b8;color:#475569;font-size:.6875rem;font-weight:600;margin-bottom:.25rem;padding:.125rem .375rem .125rem .5rem}.product-filters__status-code{align-items:center;cursor:pointer;display:flex;font-size:.75rem;gap:.375rem;padding:.25rem 0}.product-filters__status-code input[type=checkbox]{accent-color:#00804c;height:14px;width:14px}.product-filters__status-code-badge{border-radius:3px;color:#fff;font-size:.625rem;font-weight:600;padding:.125rem .375rem}.product-filters__status-code-name{color:#475569}.product-filters__duration-row{align-items:center;display:flex;gap:6px}.product-filters__duration-input{-moz-appearance:textfield;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1e293b;flex:1;font-size:12px;padding:6px 8px;text-align:center;transition:all .15s ease;width:50px}.product-filters__duration-input::-webkit-inner-spin-button,.product-filters__duration-input::-webkit-outer-spin-button{-webkit-appearance:none;margin:0}.product-filters__duration-input:focus{border-color:#00804c;box-shadow:0 0 0 2px #00804c1a;outline:none}.product-filters__duration-input::-moz-placeholder{color:#94a3b8}.product-filters__duration-input::placeholder{color:#94a3b8}.product-filters__duration-sep{color:#94a3b8;font-size:12px;font-weight:500}.product-filters__duration-unit{color:#64748b;font-size:11px;font-weight:500}.product-filters__search-input{background:#fff;border:1px solid #e2e8f0;border-bottom:none;border-radius:6px 6px 0 0;color:#1e293b;font-size:.8125rem;padding:.5rem .75rem;transition:all .15s ease;width:100%}.product-filters__search-input:focus{border-color:#00804c;box-shadow:0 0 0 2px #00804c1a;outline:none}.product-filters__search-input::-moz-placeholder{color:#94a3b8}.product-filters__search-input::placeholder{color:#94a3b8}.product-filters__search-input+.product-filters__select{border-radius:0 0 6px 6px}.product-filters__search-count{color:#64748b;font-size:.6875rem;font-style:italic;margin-top:.25rem}.product-filters__date-custom{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;display:flex;flex-direction:column;gap:.5rem;margin-top:.75rem;padding:.75rem}.product-filters__date-row{align-items:center;display:flex;gap:.5rem}.product-filters__date-label{color:#64748b;font-size:.6875rem;font-weight:500;min-width:45px}.product-filters__date-input{background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#1e293b;flex:1;font-size:.8125rem;padding:.375rem .5rem;transition:all .15s ease}.product-filters__date-input:focus{border-color:#00804c;box-shadow:0 0 0 2px #00804c1a;outline:none}.product-filters__date-active{align-items:center;background:#eff6ff;border:1px solid #bfdbfe;border-radius:4px;color:#3b82f6;display:flex;font-size:.6875rem;margin-top:.5rem;padding:.375rem .5rem}.product-filters__advanced-toggle{align-items:center;background:none;border:none;border-top:1px solid #e2e8f0;color:#64748b;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.5rem;letter-spacing:.025em;margin-top:.5rem;padding:.625rem 0;text-transform:uppercase;width:100%}.product-filters__advanced-toggle:hover{color:#475569}.product-filters__advanced-toggle .badge{background:#00804c;border-radius:9999px;color:#fff;font-size:.625rem;margin-left:auto;padding:.125rem .375rem}.product-filters__advanced-content{padding-top:.75rem}.product-filters__recent-header{display:flex;justify-content:flex-end;margin-bottom:.5rem}.product-filters__recent-clear{background:none;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;font-size:.6875rem;padding:.125rem .375rem;transition:all .15s ease}.product-filters__recent-clear:hover{background:#f1f5f9;color:#64748b}.product-filters__recent-list{display:flex;flex-direction:column;gap:.25rem;list-style:none;margin:0;padding:0}.product-filters__recent-item{align-items:center;background:#f8fafc;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.375rem .5rem;transition:all .15s ease}.product-filters__recent-item:hover{background:#e2e8f0}.product-filters__recent-icon{color:#64748b;flex-shrink:0;font-size:.6875rem}.product-filters__recent-content{display:flex;flex:1;flex-direction:column;gap:.0625rem;min-width:0}.product-filters__recent-code{color:#475569;font-family:monospace;font-size:.625rem;font-weight:600}.product-filters__recent-name{color:#64748b;font-size:.625rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-filters__recent-time{color:#94a3b8;flex-shrink:0;font-size:.5625rem;white-space:nowrap}.product-recent{background:#fff;border:1px solid var(--product-border-subtle);border-radius:8px;margin-top:1rem;padding:.875rem}.product-recent__header{align-items:center;border-bottom:1px solid var(--product-border-subtle);display:flex;justify-content:space-between;margin-bottom:.75rem;padding-bottom:.5rem}.product-recent__title{align-items:center;color:#334155;display:flex;font-size:.8125rem;font-weight:600;margin:0}.product-recent__clear{background:none;border:none;border-radius:4px;color:#94a3b8;cursor:pointer;line-height:1;padding:.25rem;transition:all .15s ease}.product-recent__clear:hover{background:#f1f5f9;color:#64748b}.product-recent__list{display:flex;flex-direction:column;gap:.375rem;list-style:none;margin:0;padding:0}.product-recent__item{align-items:center;background:#f8fafc;border-radius:6px;cursor:pointer;display:flex;gap:.5rem;padding:.5rem .625rem;transition:all .15s ease}.product-recent__item:hover{background:#e2e8f0}.product-recent__icon{color:#64748b;flex-shrink:0;font-size:.75rem}.product-recent__content{display:flex;flex:1;flex-direction:column;gap:.125rem;min-width:0}.product-recent__code{color:#475569;font-family:monospace;font-size:.6875rem;font-weight:600}.product-recent__name{color:#64748b;font-size:.6875rem;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-recent__time{color:#94a3b8;flex-shrink:0;font-size:.625rem;white-space:nowrap}.product-filters__multiselect{position:relative}.product-filters__multiselect-trigger{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:5px;color:#1e293b;cursor:pointer;display:flex;font-size:.75rem;justify-content:space-between;padding:.4rem .6rem;text-align:left;transition:all .15s ease;width:100%}.product-filters__multiselect-trigger:hover{border-color:#cbd5e1}.product-filters__multiselect-trigger:focus{border-color:#00804c;box-shadow:0 0 0 2px #00804c1a;outline:none}.product-filters__multiselect-trigger i{color:#94a3b8;font-size:.75rem;transition:transform .15s ease}.product-filters__dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:6px;box-shadow:0 4px 12px #0000001a;display:flex;flex-direction:column;left:0;margin-top:4px;max-height:280px;overflow:hidden;position:absolute;right:0;top:100%;z-index:50}.product-filters__dropdown-search{border-bottom:1px solid #e2e8f0;flex-shrink:0;padding:.5rem}.product-filters__dropdown-search-input{border:1px solid #e2e8f0;border-radius:4px;font-size:.75rem;outline:none;padding:.4rem .5rem;transition:border-color .15s ease;width:100%}.product-filters__dropdown-search-input:focus{border-color:#00804c}.product-filters__dropdown-list{flex:1;max-height:220px;overflow-y:auto}.product-filters__dropdown-empty{color:#94a3b8;font-size:.75rem;padding:1rem;text-align:center}.product-filters__dropdown-item{align-items:center;color:#334155;cursor:pointer;display:flex;font-size:.8125rem;gap:.5rem;padding:.5rem .75rem;transition:background .15s ease}.product-filters__dropdown-item:hover{background:#f1f5f9}.product-filters__dropdown-item input[type=checkbox]{accent-color:#00804c;cursor:pointer;flex-shrink:0;height:14px;width:14px}.product-filters__dropdown-item span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-filters__selected-badges{display:flex;flex-wrap:wrap;gap:.25rem;margin-top:.5rem}.product-filters__selected-badge{align-items:center;background:#e0e7ff;border-radius:9999px;color:#4338ca;display:inline-flex;font-size:.6875rem;font-weight:500;gap:.25rem;max-width:100%;padding:.125rem .5rem}.product-filters__selected-badge span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-filters__selected-badge button{align-items:center;background:transparent;border:none;border-radius:50%;color:#6366f1;cursor:pointer;display:inline-flex;flex-shrink:0;font-size:.875rem;font-weight:700;height:14px;justify-content:center;line-height:1;margin-left:.125rem;padding:0;transition:all .15s ease;width:14px}.product-filters__selected-badge button:hover{background:#c7d2fe;color:#3730a3}.product-filters__codes-list{background:#f8fafc;border:1px solid #e2e8f0;border-radius:6px;margin-top:.5rem;padding:.5rem}.product-filters__codes-header{border-bottom:1px dashed #e2e8f0;margin-bottom:.375rem;padding-bottom:.25rem}.product-filters__code-item{align-items:center;border-radius:4px;color:#334155;cursor:pointer;display:flex;font-size:.75rem;gap:.5rem;padding:.375rem .25rem;transition:background .15s ease}.product-filters__code-item:hover{background:#e2e8f0}.product-filters__code-item input[type=checkbox]{accent-color:#00804c;cursor:pointer;flex-shrink:0;height:14px;width:14px}.product-filters__code-badge{align-items:center;border-radius:4px;color:#fff;display:inline-flex;flex-shrink:0;font-size:.6875rem;font-weight:700;height:20px;justify-content:center;min-width:20px;padding:0 .375rem;text-transform:uppercase}.product-filters__withdrawn-toggle{align-items:center;display:flex;gap:8px;justify-content:space-between}.product-filters__withdrawn-toggle-label{color:#94a3b8;cursor:pointer;font-size:10px;font-weight:500;transition:all .15s ease;white-space:nowrap}.product-filters__withdrawn-toggle-label:hover{color:#64748b}.product-filters__withdrawn-toggle-label.active{color:#1e293b;font-weight:600}.product-filters__withdrawn-toggle-label i{color:#f59e0b;font-size:9px}.product-filters__withdrawn-slider{cursor:pointer;flex:1;height:22px;max-width:60px;position:relative}.product-filters__withdrawn-slider-track{background:linear-gradient(90deg,#60a5fa,#e2e8f0,#fbbf24);border-radius:3px;height:6px;left:0;position:absolute;right:0;top:50%;transform:translateY(-50%)}.product-filters__withdrawn-slider-thumb{background:#fff;border:2px solid #00804c;border-radius:50%;box-shadow:0 1px 3px #0003;height:16px;position:absolute;top:50%;transform:translate(-50%,-50%);transition:left .2s ease,border-color .2s ease;width:16px}.product-filters__withdrawn-slider--exclude_withdrawn .product-filters__withdrawn-slider-thumb{border-color:#3b82f6;left:10%}.product-filters__withdrawn-slider--all .product-filters__withdrawn-slider-thumb{border-color:#94a3b8;left:50%}.product-filters__withdrawn-slider--only_withdrawn .product-filters__withdrawn-slider-thumb{border-color:#f59e0b;left:90%}.product-filters__withdrawn-checkbox{align-items:center;background:#f0f9ff;border:1px solid #bae6fd;border-radius:6px;color:#0369a1;cursor:pointer;display:flex;font-size:11px;gap:6px;margin-top:8px;padding:6px 8px;transition:all .15s ease}.product-filters__withdrawn-checkbox:hover{background:#e0f2fe}.product-filters__withdrawn-checkbox input[type=checkbox]{accent-color:#0ea5e9;cursor:pointer;height:14px;width:14px}.product-filters__withdrawn-checkbox span{flex-shrink:0}.product-filters__withdrawn-checkbox .badge{font-size:10px;padding:2px 6px}.product-table-wrapper{background:#fff;border:1px solid var(--product-border-subtle);border-radius:10px;box-shadow:var(--product-stat-shadow)}.product-table-scroll-container{border-radius:0 0 10px 10px;max-height:calc(100vh - 320px);overflow:auto}.product-table-scroll-container .table-responsive{overflow:visible}.product-table{border-collapse:separate;border-spacing:0;font-size:.8125rem;min-width:100%;width:-moz-max-content;width:max-content}.product-table thead{background:#f8fafc;position:sticky;top:0;z-index:10}.product-table thead th{background:#f8fafc}.product-table th{border-bottom:2px solid #e2e8f0;color:#475569;font-size:.6875rem;font-weight:600;letter-spacing:.5px;padding:.5rem;position:relative;text-align:left;text-transform:uppercase;-webkit-user-select:none;-moz-user-select:none;user-select:none;white-space:nowrap}.product-table__th-resizable{position:relative}.product-table__resize-handle{background:transparent;bottom:0;cursor:col-resize;position:absolute;right:0;top:0;width:6px;z-index:5}.product-table--resizing .product-table__resize-handle,.product-table__resize-handle:hover{background:#00804c4d}.product-table__resize-handle:after{background:#cbd5e1;border-radius:1px;content:"";height:14px;opacity:0;position:absolute;right:2px;top:50%;transform:translateY(-50%);transition:opacity .15s ease;width:2px}.product-table--resizing .product-table__resize-handle:after,.product-table__th-resizable:hover .product-table__resize-handle:after{opacity:1}.product-table--resizing{cursor:col-resize}.product-table--resizing *{-webkit-user-select:none;-moz-user-select:none;user-select:none}.product-table th.sortable{cursor:pointer;transition:background .15s ease}.product-table th.sortable:hover{background:#f1f5f9}.product-table th .sort-icon{font-size:.625rem;margin-left:.25rem;opacity:.4}.product-table th.sortable:hover .sort-icon{opacity:.7}.product-table th .sort-icon.sorted{color:#00804c;opacity:1}.product-table td{border-bottom:1px solid #f1f5f9;color:#334155;padding:.375rem .5rem;vertical-align:middle}.product-table tbody tr{transition:background .1s ease}.product-table tbody tr:hover{background:#f8fafc}.product-table tbody tr:nth-child(2n){background:var(--product-table-stripe)}.product-table tbody tr:nth-child(2n):hover{background:#f1f5f9}.product-table__type-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.6875rem;height:20px;justify-content:center;width:20px}.product-table__type-badge--course{background:var(--product-course-bg);color:var(--product-course-color)}.product-table__type-badge--course.product-table__type-badge--private{background:#fff7ed;color:#ea580c}.product-table__type-badge--itinerary{background:var(--product-itinerary-bg);color:var(--product-itinerary-color)}.product-table__code{background:#f1f5f9;border-radius:4px;color:#1e293b;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.75rem;font-weight:600;padding:.25rem .5rem;white-space:nowrap}.product-table__title{color:#1e293b;cursor:pointer;font-weight:500;max-width:350px;overflow:hidden;text-overflow:ellipsis;transition:color .15s ease;white-space:nowrap}.product-table__title:hover{color:#00804c}.product-table__title-cell{align-items:center;display:flex;gap:.375rem}.product-table__modules-badge{align-items:center;background:#e0e7ff;border-radius:9px;color:#4f46e5;display:inline-flex;flex-shrink:0;font-size:.625rem;font-weight:700;height:18px;justify-content:center;min-width:18px;padding:0 4px}.product-table__status{align-items:center;border-radius:999px;display:inline-flex;font-size:.6875rem;font-weight:600;padding:.25rem .625rem;white-space:nowrap}.product-table__hours{color:#475569;font-weight:600}.product-table__hours-unit{color:#94a3b8;font-size:.6875rem;font-weight:400}.product-table__family{background:#f1f5f9;border-radius:4px;color:#475569;display:inline-flex;font-size:.6875rem;max-width:120px;overflow:hidden;padding:.1875rem .5rem;text-overflow:ellipsis;white-space:nowrap}.product-table__mode,.product-table__vigencia{color:#64748b;font-size:.75rem}.product-table__vigencia{white-space:nowrap}.product-table__vigencia--warning{color:#f59e0b}.product-table__vigencia--danger{color:#ef4444}.product-table__vigencia-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.6875rem;font-weight:600;gap:.25rem;padding:.25rem .5rem}.product-table__vigencia-badge--success{background:#e6f4ed;color:#006639}.product-table__vigencia-badge--warning{background:#fef3c7;color:#b45309}.product-table__vigencia-badge--danger{background:#fee2e2;color:#b91c1c}.product-table__subtitle{color:#64748b;display:block;font-size:.6875rem;font-weight:400;margin-top:.125rem}.product-table__subtitle i{font-size:.625rem;margin-right:.25rem}.product-table__actions{display:flex;gap:.25rem}.product-table__action-btn{align-items:center;background:transparent;border:none;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;height:28px;justify-content:center;transition:all .15s ease;width:28px}.product-table__action-btn:hover{background:#f1f5f9;color:#334155}.product-table__action-btn--primary:hover{background:#eff6ff;color:#3b82f6}.product-table__action-btn--success:hover{background:#ecfdf5;color:#10b981}.product-table__format{background:#f1f5f9;border-radius:3px;padding:.125rem .375rem}.product-table__area,.product-table__format{color:#64748b;font-size:.6875rem;white-space:nowrap}.product-table__area{display:block;max-width:90px;overflow:hidden;text-overflow:ellipsis}.product-table__version{color:#94a3b8;font-size:.6875rem;font-weight:600}.product-table__empty{color:#cbd5e1;font-size:.75rem}.product-table--compact{font-size:.75rem}.product-table--compact th{font-size:.625rem;padding:.5rem}.product-table--compact td{padding:.375rem .5rem}.product-table--normal{font-size:.8125rem}.product-table--normal th{font-size:.6875rem;padding:.5rem}.product-table--normal td{padding:.375rem .5rem}.product-table--normal .product-table__code--compact{font-size:.75rem;padding:.1875rem .5rem}.product-table--normal .product-table__status--compact{font-size:.6875rem;padding:.25rem .625rem}.product-table--comfortable{font-size:.875rem}.product-table--comfortable th{font-size:.75rem;padding:.625rem}.product-table--comfortable td{padding:.5rem .625rem}.product-table--comfortable .product-table__code--compact{font-size:.8125rem;padding:.25rem .625rem}.product-table--comfortable .product-table__type-badge--compact{font-size:.875rem;height:28px;width:28px}.product-table--comfortable .product-table__favorite--compact{font-size:1rem;height:32px;width:32px}.product-table--comfortable .product-table__status--compact{font-size:.75rem;padding:.3125rem .75rem}.product-table--comfortable .product-table__vigencia-badge--compact{font-size:.75rem;padding:.25rem .5rem}.product-table--comfortable .product-table__action-btn{font-size:.9375rem;height:32px;width:32px}.product-table__code--compact{font-size:.6875rem;padding:.125rem .375rem}.product-table__type-badge--compact{font-size:.625rem;height:18px;width:18px}.product-table__favorite--compact{font-size:.75rem;height:18px;width:18px}.product-table__hours--compact{color:#475569;font-size:.75rem;font-weight:600}.product-table__mode--compact{font-size:.6875rem}.product-table__family--compact{font-size:.6875rem;max-width:100px;padding:.125rem .375rem}.product-table__status--compact{font-size:.625rem;padding:.1875rem .5rem}.product-table__vigencia-badge--compact{font-size:.625rem;padding:.1875rem .375rem}.product-table__actions--compact{gap:.125rem}.product-table__actions--compact .product-table__action-btn{font-size:.75rem;height:24px;width:24px}.product-table--dense tbody tr:hover{background:#f1f5f9}.product-table--dense tbody tr:hover .product-table__title{color:#00804c}.product-table-container{position:relative}.product-table__header-bar{align-items:center;display:flex;justify-content:space-between;left:0;padding:0 .75rem;position:absolute;right:0;top:-40px;z-index:20}.product-table__last-update{align-items:center;color:#64748b;display:inline-flex;font-size:.6875rem;gap:.375rem}.product-table__last-update i{color:#94a3b8;font-size:.75rem}.product-table__last-update strong{color:#475569;font-weight:600}.product-table__settings{margin-left:auto;position:relative}.product-table__settings-btn{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.375rem;padding:.375rem .75rem;transition:all .15s ease}.product-table__settings-btn:hover{background:#f8fafc;border-color:#00804c;color:#00804c}.product-table__settings-dropdown{background:#fff;border:1px solid #e2e8f0;border-radius:8px;box-shadow:0 10px 25px #00000026;margin-top:.5rem;overflow:hidden;position:absolute;right:0;top:100%;width:200px;z-index:100}.product-table__settings-header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;color:#475569;display:flex;font-size:.75rem;font-weight:600;justify-content:space-between;padding:.75rem 1rem}.product-table__settings-reset{background:none;border:none;border-radius:4px;color:#00804c;cursor:pointer;font-size:.6875rem;padding:.25rem .5rem;transition:all .15s ease}.product-table__settings-reset:hover{background:#eff6ff}.product-table__settings-list{max-height:250px;overflow-y:auto;padding:.5rem}.product-table__settings-item{align-items:center;border-radius:4px;color:#334155;cursor:pointer;display:flex;font-size:.8125rem;gap:.5rem;padding:.5rem .75rem;transition:background .15s ease}.product-table__settings-item:hover{background:#f1f5f9}.product-table__settings-item input[type=checkbox]{accent-color:#00804c;height:14px;width:14px}.product-table__settings-backdrop{inset:0;position:fixed;z-index:99}.product-table__checkbox{accent-color:#00804c;cursor:pointer;height:14px;width:14px}.product-table__favorite{align-items:center;background:transparent;border:none;border-radius:4px;color:#cbd5e1;cursor:pointer;display:inline-flex;font-size:.8125rem;height:20px;justify-content:center;transition:all .15s ease;width:20px}.product-table__favorite:hover{background:#fef3c7;color:#f59e0b}.product-table__favorite--active{color:#f59e0b}.product-table__favorite--active:hover{background:#fef3c7;color:#d97706}.product-table__row--selected{background:#eff6ff!important}.product-table__row--selected:hover{background:#dbeafe!important}.product-pagination{align-items:center;background:#fff;border-radius:0 0 8px 8px;border-top:1px solid var(--product-border-subtle);display:flex;flex-wrap:wrap;gap:.75rem;justify-content:space-between;padding:.75rem 1rem}.product-pagination__info{color:#64748b;font-size:.75rem}.product-pagination__controls{align-items:center;display:flex;gap:1rem}.product-pagination__size{align-items:center;color:#64748b;display:flex;font-size:.75rem;gap:.5rem}.product-pagination__size-select{background:#fff;border:1px solid var(--product-border-subtle);border-radius:4px;cursor:pointer;font-size:.75rem;padding:.25rem .5rem}.product-pagination__size-select:focus{border-color:var(--product-course-color);outline:none}.product-pagination__nav{align-items:center;display:flex;gap:.25rem}.product-pagination__btn{align-items:center;background:#fff;border:1px solid var(--product-border-subtle);border-radius:4px;color:#475569;cursor:pointer;display:flex;font-size:.75rem;height:28px;justify-content:center;min-width:28px;padding:0 .5rem;transition:all .15s ease}.product-pagination__btn:hover:not(:disabled){background:#f1f5f9;border-color:#cbd5e1}.product-pagination__btn:disabled{cursor:not-allowed;opacity:.4}.product-pagination__btn--active{background:var(--product-course-color);border-color:var(--product-course-color);color:#fff}.product-pagination__btn--active:hover{background:#2563eb;border-color:#2563eb}.product-pagination__ellipsis{color:#94a3b8;font-size:.75rem;padding:0 .25rem}.product-table__withdrawn-badge{align-items:center;color:#b45309;display:inline-flex;flex-shrink:0;font-size:.75rem;height:18px;justify-content:center;width:18px}.product-table__withdrawn-badge i{color:#f59e0b}.product-grid{display:grid;gap:1rem;grid-template-columns:repeat(3,1fr)}.product-card{background:#fff;border:1px solid var(--product-border-subtle);border-radius:var(--radius-card,16px);box-shadow:none!important;display:flex;flex-direction:column;overflow:hidden;transition:all .2s ease}.product-card:hover{box-shadow:none!important;transform:translateY(-2px)}.product-card--course{border-top:3px solid var(--product-course-color)}.product-card--itinerary{border-top:3px solid var(--product-itinerary-color)}.product-card__header{align-items:flex-start;display:flex;gap:.75rem;justify-content:space-between;padding:1rem}.product-card__header-left,.product-card__header-right{align-items:center;display:flex;gap:.5rem}.product-card__type{align-items:center;border-radius:4px;display:inline-flex;font-size:.6875rem;font-weight:600;gap:.375rem;letter-spacing:.5px;padding:.25rem .5rem;text-transform:uppercase}.product-card__type--course{background:var(--product-course-bg);color:var(--product-course-color)}.product-card__type--itinerary{background:var(--product-itinerary-bg);color:var(--product-itinerary-color)}.product-card__status{align-items:center;border-radius:999px;display:inline-flex;font-size:.6875rem;font-weight:600;gap:.25rem;padding:.25rem .625rem}.product-card__status i{font-size:.625rem}.product-card__status--internal{font-size:.625rem;padding:.125rem .5rem}.product-card__body{display:flex;flex:1;flex-direction:column;gap:.75rem;padding:0 1rem 1rem}.product-card__code{color:#64748b;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.6875rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.product-card__title{color:#1e293b;display:-webkit-box;font-size:.9375rem;font-weight:600;-webkit-line-clamp:2;line-height:1.4;margin:0;-webkit-box-orient:vertical;overflow:hidden}.product-card__meta{color:#64748b;display:flex;flex-wrap:wrap;font-size:.75rem;gap:.75rem}.product-card__meta-item{align-items:center;display:flex;gap:.25rem}.product-card__meta-item i{font-size:.8125rem;opacity:.7}.product-card__footer{align-items:center;background:#f8fafc;border-top:1px solid #f1f5f9;display:flex;justify-content:space-between;padding:.75rem 1rem}.product-card__vigencia{color:#64748b;font-size:.6875rem}.product-card__actions{display:flex;gap:.375rem}.product-card__btn{align-items:center;border:none;border-radius:6px;cursor:pointer;display:inline-flex;font-size:.75rem;font-weight:500;gap:.25rem;padding:.375rem .75rem;transition:all .15s ease}.product-card__btn--primary{background:#00804c;color:#fff}.product-card__btn--primary:hover{background:#5b6fe0}.product-card__btn--ghost{background:#fff;border:1px solid #e2e8f0;color:#64748b}.product-card__btn--ghost:hover{background:#f8fafc;border-color:#cbd5e1;color:#334155}.product-card__favorite{align-items:center;background:transparent;border:none;border-radius:6px;color:#cbd5e1;cursor:pointer;display:inline-flex;font-size:1rem;height:28px;justify-content:center;transition:all .15s ease;width:28px}.product-card__favorite:hover{background:#fef3c7;color:#f59e0b}.product-card__favorite--active{color:#f59e0b}.product-card__favorite--active:hover{background:#fef3c7;color:#d97706}.product-card__withdrawn-icon{color:#f59e0b;flex-shrink:0;font-size:.85em;margin-right:4px}.product-detail__backdrop{-webkit-backdrop-filter:blur(2px);backdrop-filter:blur(2px);background:#0f172a80;inset:0;position:fixed;z-index:999}.product-detail{background:#fff;box-shadow:-8px 0 30px #00000026;display:flex;flex-direction:column;height:100vh;max-width:520px;position:fixed;right:0;top:0;width:100%;z-index:1000}.product-detail__header{align-items:flex-start;border-bottom:1px solid #e2e8f0;display:flex;gap:1rem;justify-content:space-between;padding:1.5rem}.product-detail__header-content{display:flex;flex:1;flex-direction:column;gap:.5rem}.product-detail__type{align-items:center;display:inline-flex;font-size:.6875rem;font-weight:600;gap:.375rem;letter-spacing:.5px;text-transform:uppercase}.product-detail__code{color:#64748b;font-family:SF Mono,Monaco,monospace;font-size:.8125rem}.product-detail__title{color:#1e293b;font-size:1.25rem;font-weight:600;line-height:1.3;margin:0}.product-detail__close{align-items:center;background:#f1f5f9;border:none;border-radius:8px;color:#64748b;cursor:pointer;display:flex;height:36px;justify-content:center;transition:all .15s ease;width:36px}.product-detail__close:hover{background:#e2e8f0;color:#334155}.product-detail__body{display:flex;flex:1;flex-direction:column;gap:1.5rem;overflow-y:auto;padding:1.5rem}.product-detail__section{display:flex;flex-direction:column;gap:.75rem}.product-detail__section-title{border-bottom:1px solid #f1f5f9;color:#64748b;font-size:.6875rem;font-weight:600;letter-spacing:.5px;margin:0;padding-bottom:.5rem;text-transform:uppercase}.product-detail__grid{display:grid;gap:1rem;grid-template-columns:repeat(2,1fr)}.product-detail__field{display:flex;flex-direction:column;gap:.25rem}.product-detail__field-label{color:#94a3b8;font-size:.6875rem;letter-spacing:.3px;text-transform:uppercase}.product-detail__field-value{color:#1e293b;font-size:.875rem;font-weight:500}.product-detail__footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:.75rem;padding:1rem 1.5rem}.product-detail__footer .btn{flex:1}.product-detail__description{background:#f8fafc;border-left:3px solid #00804c;border-radius:8px;color:#475569;font-size:.875rem;line-height:1.6;max-height:200px;overflow-y:auto;padding:1rem;white-space:pre-wrap}.vigencia-badge{align-items:center;border-radius:16px;display:inline-flex;font-size:.75rem;font-weight:600;gap:.25rem;padding:.375rem .75rem;white-space:nowrap}.vigencia-badge--success{background:#e6f4ed;color:#006639}.vigencia-badge--warning{background:#fef3c7;color:#b45309}.vigencia-badge--danger{background:#fee2e2;color:#b91c1c}.vigencia-badge--muted{background:#f1f5f9;color:#64748b}.modules-sepe-list{display:flex;flex-direction:column;gap:.5rem;max-height:280px;overflow-y:auto;padding-right:.5rem}.module-sepe-item{background:#f8fafc;border:1px solid #e2e8f0;border-radius:8px;padding:.75rem;transition:all .15s ease}.module-sepe-item:hover{background:#f1f5f9;border-color:#cbd5e1}.module-sepe-header{align-items:center;display:flex;flex-wrap:wrap;gap:.5rem;margin-bottom:.375rem}.module-sepe-number{align-items:center;background:#00804c;border-radius:50%;color:#fff;display:inline-flex;font-size:.6875rem;font-weight:700;height:24px;justify-content:center;width:24px}.module-sepe-code{background:#fff;border:1px solid #e2e8f0;border-radius:4px;color:#475569;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.6875rem;font-weight:600;padding:.125rem .375rem}.module-sepe-hours{background:#eff6ff;border-radius:4px;color:#3b82f6;font-size:.6875rem;font-weight:600;margin-left:auto;padding:.125rem .5rem}.module-sepe-title{color:#334155;font-size:.8125rem;line-height:1.4}.specialty-level{background:#ecfdf5;border-radius:4px;color:#10b981;font-size:.625rem;font-weight:600;padding:.125rem .375rem}.product-compare__backdrop{align-items:center;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);background:#0f172a99;display:flex;inset:0;justify-content:center;padding:2rem;position:fixed;z-index:1050}.product-compare__modal{background:#fff;border-radius:16px;box-shadow:0 25px 50px -12px #00000040;display:flex;flex-direction:column;max-height:90vh;max-width:1100px;overflow:hidden;width:100%}.product-compare__header{align-items:center;background:#f8fafc;border-bottom:1px solid #e2e8f0;display:flex;justify-content:space-between;padding:1.25rem 1.5rem}.product-compare__title{color:#1e293b;font-weight:600;margin:0}.product-compare__close,.product-compare__title{align-items:center;display:flex;font-size:1.125rem}.product-compare__close{background:#fff;border:none;border-radius:8px;box-shadow:0 1px 3px #0000001a;color:#64748b;cursor:pointer;height:36px;justify-content:center;transition:all .15s ease;width:36px}.product-compare__close:hover{background:#f1f5f9;color:#334155}.product-compare__body{flex:1;overflow-y:auto;padding:1.5rem}.product-compare__grid{border:1px solid #e2e8f0;border-radius:10px;display:grid;gap:0;overflow:hidden}.product-compare__label{background:#f8fafc;color:#64748b;font-size:.75rem;font-weight:600;letter-spacing:.5px;text-transform:uppercase}.product-compare__label,.product-compare__value{align-items:center;border-bottom:1px solid #e2e8f0;border-right:1px solid #e2e8f0;display:flex;padding:.875rem 1rem}.product-compare__value{background:#fff;color:#334155;font-size:.875rem}.product-compare__value:last-child{border-right:none}.product-compare__grid>div:nth-last-child(-n+4){border-bottom:none}.product-compare__value--title{color:#1e293b;font-weight:600;line-height:1.4}.product-compare__value--description{color:#475569;font-size:.8125rem;line-height:1.5;max-height:100px;overflow-y:auto}.product-compare__value--warning{color:#b45309;font-weight:600}.product-compare__value--danger{color:#b91c1c;font-weight:600}.product-compare__code{background:#f1f5f9;border-radius:4px;color:#1e293b;font-family:SF Mono,Monaco,Inconsolata,Fira Code,monospace;font-size:.75rem;font-weight:600;padding:.25rem .5rem}.product-compare__type-badge{align-items:center;border-radius:4px;display:inline-flex;font-size:.6875rem;font-weight:600;gap:.375rem;letter-spacing:.5px;padding:.25rem .625rem;text-transform:uppercase}.product-compare__type-badge--course{background:var(--product-course-bg);color:var(--product-course-color)}.product-compare__type-badge--itinerary{background:var(--product-itinerary-bg);color:var(--product-itinerary-color)}.product-compare__hours{color:#475569;font-weight:600}.product-compare__status{align-items:center;border-radius:999px;display:inline-flex;font-size:.6875rem;font-weight:600;padding:.25rem .625rem}.product-compare__empty{color:#cbd5e1}.product-compare__footer{background:#f8fafc;border-top:1px solid #e2e8f0;display:flex;gap:.75rem;justify-content:flex-end;padding:1rem 1.5rem}.product-detail__section--warning{margin-top:-.5rem}.product-detail__warning-banner{align-items:center;background:#fef3c7;border:1px solid #fcd34d;border-radius:8px;color:#92400e;display:flex;font-size:.875rem;font-weight:500;gap:12px;justify-content:space-between;padding:12px 16px}.product-detail__warning-content{align-items:center;display:flex}.product-detail__warning-content i{color:#f59e0b;font-size:1.1rem}.product-detail__compare-btn{align-items:center;background:#92400e;border:none;border-radius:6px;color:#fff;cursor:pointer;display:inline-flex;font-size:.8rem;font-weight:500;gap:6px;padding:6px 12px;transition:all .15s ease;white-space:nowrap}.product-detail__compare-btn:hover:not(:disabled){background:#78350f}.product-detail__compare-btn:disabled{cursor:not-allowed;opacity:.6}.product-detail__compare-loading{animation:spin 1s linear infinite;color:#92400e;font-size:.9rem}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(1turn)}}.product-detail__comments{background:#f8fafc;border-radius:6px;color:#475569;font-size:.875rem;line-height:1.5;padding:12px;white-space:pre-wrap}.product-kanban{display:flex;flex-direction:column;gap:1rem}.product-kanban__stats{align-items:center;background:#fff;border:1px solid var(--product-border-subtle);border-radius:8px;display:flex;flex-shrink:0;gap:1rem;padding:.75rem 1rem}.product-kanban__total{color:#64748b;font-size:.8125rem}.product-kanban__groupby{color:#94a3b8;font-size:.75rem;font-weight:400}.product-kanban__board{display:flex;gap:1rem;overflow-x:auto;overflow-y:hidden;padding-bottom:1rem}.product-kanban__column{background:#f8fafc;border:1px solid var(--product-border-subtle);border-radius:10px;display:flex;flex:0 0 320px;flex-direction:column;height:100%;max-height:100%;max-width:320px;min-width:320px}.product-kanban__column-header{background:#fff;border-bottom:1px solid #e2e8f0;border-radius:10px 10px 0 0;padding:.875rem 1rem;position:sticky;top:0;z-index:1}.product-kanban__column-title{align-items:center;display:flex;gap:.5rem}.product-kanban__column-dot{border-radius:50%;flex-shrink:0;height:12px;width:12px}.product-kanban__column-name{color:#1e293b;flex:1;font-size:.875rem;font-weight:600;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.product-kanban__column-count{align-items:center;background:#e2e8f0;border-radius:12px;color:#475569;display:inline-flex;font-size:.75rem;font-weight:600;height:24px;justify-content:center;min-width:24px;padding:0 6px}.product-kanban__column-body{display:flex;flex:1;flex-direction:column;gap:.625rem;min-height:0;overflow-y:auto;padding:.75rem}.product-kanban__empty{color:#94a3b8;font-size:.8125rem;padding:2rem 1rem;text-align:center}.kanban-card{background:#fff;border:1px solid #e2e8f0;border-radius:var(--radius-card,16px);box-shadow:none!important;cursor:pointer;padding:.75rem;position:relative;transition:all .15s ease}.kanban-card:hover{border-color:#cbd5e1;box-shadow:none!important;transform:translateY(-1px)}.kanban-card--course{border-left:3px solid var(--product-course-color)}.kanban-card--itinerary{border-left:3px solid var(--product-itinerary-color)}.kanban-card__header{align-items:center;display:flex;justify-content:space-between;margin-bottom:.5rem}.kanban-card__code{background:#f1f5f9;border-radius:3px;color:#64748b;font-family:SF Mono,Monaco,monospace;font-size:.6875rem;font-weight:600;padding:.125rem .375rem}.kanban-card__actions{display:flex;gap:.25rem}.kanban-card__favorite{align-items:center;background:transparent;border:none;border-radius:4px;color:#cbd5e1;cursor:pointer;display:flex;height:24px;justify-content:center;transition:all .15s ease;width:24px}.kanban-card__favorite:hover{background:#fef3c7;color:#f59e0b}.kanban-card__favorite--active{color:#f59e0b}.kanban-card__title{color:#1e293b;display:-webkit-box;font-size:.8125rem;font-weight:600;-webkit-line-clamp:2;line-height:1.4;margin:0 0 .5rem;-webkit-box-orient:vertical;overflow:hidden}.kanban-card__meta{align-items:center;display:flex;gap:.75rem;margin-bottom:.5rem}.kanban-card__type{align-items:center;color:#64748b;display:flex;font-size:.6875rem;gap:.25rem}.kanban-card__type i{font-size:.75rem}.kanban-card--course .kanban-card__type{color:var(--product-course-color)}.kanban-card--itinerary .kanban-card__type{color:var(--product-itinerary-color)}.kanban-card__hours{align-items:center;color:#64748b;display:flex;font-size:.6875rem;gap:.25rem}.kanban-card__footer{align-items:center;display:flex;gap:.5rem;justify-content:space-between}.kanban-card__family{background:#f1f5f9;border-radius:3px;color:#64748b;font-size:.6875rem;max-width:120px;overflow:hidden;padding:.125rem .375rem;text-overflow:ellipsis;white-space:nowrap}.kanban-card__vigencia{align-items:center;color:#64748b;display:flex;font-size:.625rem;gap:.25rem}.kanban-card__vigencia--warning{color:#b45309}.kanban-card__vigencia--danger{color:#b91c1c}.kanban-card__modules{background:#e0e7ff;border-radius:8px;color:#4f46e5;font-size:.5625rem;font-weight:600;padding:.125rem .375rem;position:absolute;right:2.5rem;top:.5rem}.kanban-card__secondary-status{border-top:1px dashed #e2e8f0;margin-top:.5rem;padding-top:.5rem}.kanban-card__status-badge{align-items:center;border-radius:10px;display:inline-flex;font-size:.625rem;font-weight:500;gap:.25rem;padding:.125rem .5rem}.kanban-card__status-badge i{font-size:.625rem}.product-kanban__board::-webkit-scrollbar{height:8px}.product-kanban__board::-webkit-scrollbar-track{background:#f1f5f9;border-radius:4px}.product-kanban__board::-webkit-scrollbar-thumb{background:#cbd5e1;border-radius:4px}.product-kanban__board::-webkit-scrollbar-thumb:hover{background:#94a3b8}.product-kanban__column-body::-webkit-scrollbar{width:6px}.product-kanban__column-body::-webkit-scrollbar-track{background:transparent}.product-kanban__column-body::-webkit-scrollbar-thumb{background:#e2e8f0;border-radius:3px}.product-kanban__column-body::-webkit-scrollbar-thumb:hover{background:#cbd5e1}.product-kanban__compact-toggle{align-items:center;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#64748b;cursor:pointer;display:flex;font-size:.75rem;font-weight:500;gap:.375rem;margin-left:auto;padding:.375rem .75rem;transition:all .15s ease}.product-kanban__compact-toggle:hover{background:#f8fafc;border-color:#cbd5e1;color:#475569}.product-kanban__compact-toggle--active{background:#00804c;border-color:#00804c;color:#fff}.product-kanban__compact-toggle--active:hover{background:#5a67d8;border-color:#5a67d8}.product-kanban__board--compact .kanban-card{padding:.5rem}.product-kanban__board--compact .kanban-card__header{margin-bottom:.25rem}.product-kanban__board--compact .kanban-card__title{display:-webkit-box;font-size:.75rem;-webkit-line-clamp:1;line-height:1.3;margin-bottom:.25rem;-webkit-box-orient:vertical;overflow:hidden}.product-kanban__board--compact .kanban-card__footer,.product-kanban__board--compact .kanban-card__meta,.product-kanban__board--compact .kanban-card__secondary-status{display:none}.product-kanban__board--compact .kanban-card__modules{font-size:.5625rem;padding:.0625rem .25rem;right:.25rem;top:.25rem}.product-kanban__board--compact .kanban-card__favorite{height:20px;width:20px}.product-kanban__board--compact .kanban-card__favorite i{font-size:.625rem}.product-kanban__board--compact .product-kanban__column-body{gap:.375rem;padding:.5rem}.kanban-card__withdrawn-icon{color:#f59e0b;flex-shrink:0;font-size:.75em;margin-right:3px}.product-empty{align-items:center;background:#fff;border:1px solid var(--product-border-subtle);border-radius:10px;display:flex;flex-direction:column;justify-content:center;padding:4rem 2rem;text-align:center}.product-empty__icon{color:#cbd5e1;font-size:3rem;margin-bottom:1rem}.product-empty__title{color:#475569;font-size:1.125rem;font-weight:600;margin:0 0 .5rem}.product-empty__text{color:#64748b;font-size:.875rem;margin:0;max-width:300px}.product-loading{align-items:center;background:#fff;border:1px solid var(--product-border-subtle);border-radius:10px;display:flex;justify-content:center;padding:4rem}@media (max-width:1024px){.product-content{flex-direction:column;position:relative}.product-content__sidebar{background:#f8fafc;box-shadow:4px 0 20px #0000001a;height:100vh;left:0;overflow-y:auto;padding:1rem;position:fixed;top:0;transform:translate(0);transition:transform .3s ease;width:300px;z-index:200}.product-content__sidebar--collapsed{display:block;transform:translate(-100%)}.product-sidebar-toggle{align-items:center;display:flex;justify-content:center}.product-content--sidebar-collapsed .product-content__sidebar{transform:translate(-100%)}.product-filters{position:static}}@media (max-width:768px){.product-catalog{padding:.875rem}.page-hero{flex-direction:column;gap:.5rem;text-align:center}.page-hero-content p{display:none}.product-stats{gap:.5rem;grid-template-columns:1fr 1fr}.product-stat{padding:.5rem .625rem}.product-stat__icon{font-size:.8125rem;height:28px;width:28px}.product-stat__value{font-size:1.125rem}.product-toolbar{flex-direction:column;gap:.75rem}.product-toolbar__search{max-width:100%}.product-toolbar__actions{justify-content:space-between;margin-left:0;width:100%}.product-grid{grid-template-columns:1fr}.product-detail{max-width:100%;width:100%}.product-distribution{display:none}.product-view-toggle{gap:.125rem}.product-view-toggle__btn{height:32px;width:32px}}@media (max-width:640px){.product-pagination{flex-direction:column;gap:.5rem}.product-pagination__controls{justify-content:space-between;width:100%}}@media (max-width:480px){.product-stats{grid-template-columns:1fr}.page-hero-actions{flex-wrap:wrap;justify-content:center}.page-hero-btn{font-size:.75rem;padding:.375rem .75rem}}@media (max-width:900px){.product-compare__backdrop{padding:1rem}.product-compare__modal{max-height:95vh}.product-compare__body{padding:1rem}.product-compare__label,.product-compare__value{font-size:.8125rem;padding:.625rem .75rem}}@media (max-width:600px){.product-compare__grid{display:block}.product-compare__label{background:#1e293b;border-right:none;color:#fff}.product-compare__value{border-right:none;padding-left:1.5rem}}@media print{.page-hero,.product-compare,.product-content__sidebar,.product-detail,.product-distribution,.product-pagination,.product-shortcuts,.product-sidebar-toggle,.product-table__actions,.product-table__checkbox,.product-table__favorite,.product-toolbar,.product-view-toggle{display:none!important}.product-catalog{background:#fff;padding:0}.product-content{display:block}.product-content__main{width:100%}.product-stats{display:flex;gap:1rem;margin-bottom:1rem;page-break-inside:avoid}.product-stat{border:1px solid #e2e8f0;box-shadow:none;flex:1;padding:.5rem}.product-stat__icon{display:none}.product-stat__value{font-size:1rem}.product-stat__label{font-size:.6875rem}.product-table-container{overflow:visible}.product-table-wrapper{padding-top:0!important}.product-table__settings{display:none}.product-table{border-collapse:collapse;font-size:9pt;width:100%}.product-table td,.product-table th{border:1px solid #cbd5e1;padding:4px 6px}.product-table th{background:#f1f5f9!important}.product-table th,.product-table__row--selected{-webkit-print-color-adjust:exact;print-color-adjust:exact}.product-table__row--selected{background:#fef9c3!important}.product-table__status,.product-table__type-badge{-webkit-print-color-adjust:exact;print-color-adjust:exact}.product-table tr{page-break-inside:avoid}.product-grid{display:grid;gap:.5rem;grid-template-columns:repeat(3,1fr)}.product-card{border:1px solid #e2e8f0;box-shadow:none;padding:.5rem;page-break-inside:avoid}.product-catalog:before{border-bottom:2px solid #00804c;content:"Catálogo de Producto - Smartmind";display:block;font-size:14pt;font-weight:700;margin-bottom:.5rem;padding-bottom:.5rem}.product-catalog:after{color:#64748b;content:"Impreso el " attr(data-print-date);display:block;font-size:8pt;margin-top:1rem;text-align:right}}.text-decoration-underline{font-weight:var(--font-weight-medium,500);position:relative;text-decoration:none!important;transition:var(--transition-fast,.2s ease)}.text-decoration-underline:after{background-color:#1e90ff;bottom:-2px;content:"";height:2px;left:0;position:absolute;transition:width .3s ease;width:0}.text-decoration-underline:hover:after{width:100%}.text-decoration-underline:hover{color:#0056b3!important}.bi-circle-fill{filter:drop-shadow(0 1px 2px rgba(0,0,0,.2));font-size:1rem}p span{box-shadow:0 4px 12px #00000059;color:var(--color-white,#fff)}p strong{font-family:inherit}
