@charset "UTF-8";.catalog-workspace{--cw-ink: #070b14;--cw-ink-soft: #0f172a;--cw-muted: #475569;--cw-line: #d4dbe7;--cw-line-strong: #b8c4d6;--cw-surface: #ffffff;--cw-surface-2: #f4f6f9;--cw-surface-3: #e8edf4;--cw-brand: #0d9488;--cw-brand-2: #14b8a6;--cw-brand-muted: rgba(13, 148, 136, .1);--cw-brand-border: #5eead4;--cw-info: #0369a1;--cw-info-muted: rgba(3, 105, 161, .08);--cw-success: #047857;--cw-success-muted: rgba(4, 120, 87, .1);--cw-danger: #991b1b;--cw-danger-muted: rgba(153, 27, 27, .08);--cw-radius-lg: 12px;--cw-radius-md: 10px;--cw-radius-sm: 8px;--cw-shadow-1: 0 1px 0 rgba(15, 23, 42, .05);--cw-shadow-2: 0 6px 18px rgba(2, 6, 23, .06);max-width:min(1280px,100%);margin:0 auto;display:flex;flex-direction:column;gap:.65rem;color:var(--cw-ink);font-size:.9375rem;letter-spacing:-.01em;-webkit-font-smoothing:antialiased}.catalog-workspace--framed{padding-left:.85rem;border-left:3px solid var(--cw-brand);background:linear-gradient(90deg,rgba(13,148,136,.04) 0%,transparent 38%);border-radius:0 2px 2px 0}.page-top-actions{display:flex;align-items:center}.back-link,.back-link-button{display:inline-flex;align-items:center;gap:.4rem;width:fit-content;text-decoration:none;color:var(--cw-muted);font-size:.8125rem;font-weight:600;padding:.2rem 0;border:none;background:transparent;cursor:pointer;transition:color .15s ease}.back-link:hover,.back-link-button:hover{color:var(--cw-brand)}.back-link__icon{font-size:.9rem;line-height:1}.hero-card,.filters-card,.list-card,.catalog-card{background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:var(--cw-radius-lg);box-shadow:var(--cw-shadow-1)}.hero-card{padding:.85rem 1rem;display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem;flex-wrap:wrap}.hero-copy h1{margin:0 0 .2rem;font-size:1.35rem;font-weight:700;color:var(--cw-ink-soft);letter-spacing:-.02em;line-height:1.2}.hero-copy p{margin:.15rem 0 0;color:var(--cw-muted);font-size:.8125rem;line-height:1.45;max-width:58ch}.hero-copy strong{color:var(--cw-ink-soft);font-weight:600}.hero-actions{display:flex;align-items:center;flex-shrink:0}.filters-card,.list-card{padding:.85rem 1rem}.filters-header h2,.list-header h2{margin:0 0 .15rem;font-size:.9375rem;font-weight:700;color:var(--cw-ink-soft)}.filters-header p,.list-header p{margin:0;color:var(--cw-muted);font-size:.75rem}.filters-grid{margin-top:.65rem;display:grid;grid-template-columns:2fr 1fr auto;gap:.55rem;align-items:end}.filters-grid--compact{grid-template-columns:2fr auto}.form-group{display:flex;flex-direction:column;gap:.28rem;min-width:0}.form-group label{font-size:.75rem;font-weight:600;color:var(--cw-muted)}.form-group input,.form-group select{width:100%;box-sizing:border-box;height:42px;border:1px solid var(--cw-line);border-radius:var(--cw-radius-sm);padding:0 .65rem;font-size:.875rem;color:var(--cw-ink-soft);background:var(--cw-surface);outline:none;transition:border-color .15s ease,box-shadow .15s ease}.form-group select{appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .65rem center;padding-right:2rem;cursor:pointer}.form-group input:focus,.form-group select:focus{border-color:var(--cw-brand);box-shadow:0 0 0 3px var(--cw-brand-muted)}.filter-actions{display:flex;gap:.45rem;align-items:center;flex-wrap:wrap}.list-header{display:flex;justify-content:space-between;align-items:center;gap:.65rem;margin-bottom:.65rem;flex-wrap:wrap}.list-header-right{display:flex;align-items:center;gap:.55rem;flex-wrap:wrap}.page-size-box{display:flex;align-items:center;gap:.4rem}.page-size-box label{font-size:.75rem;font-weight:600;color:var(--cw-muted);white-space:nowrap}.page-size-box select{height:36px;min-width:4.5rem;border:1px solid var(--cw-line);border-radius:var(--cw-radius-sm);padding:0 1.75rem 0 .55rem;font-size:.8125rem;color:var(--cw-ink-soft);background:var(--cw-surface);appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center}.summary-badge{display:inline-flex;align-items:center;padding:.2rem .55rem;border-radius:999px;background:var(--cw-surface-2);border:1px solid var(--cw-line);color:var(--cw-muted);font-size:.7rem;font-weight:600}.page-alert,.message{padding:.55rem .85rem;border-radius:var(--cw-radius-sm);font-size:.8125rem;font-weight:500;border:1px solid transparent}.page-alert--success,.message--success{background:var(--cw-success-muted);color:var(--cw-success);border-color:#a7f3d0}.page-alert--error,.message--error{background:var(--cw-danger-muted);color:var(--cw-danger);border-color:#fecaca}.catalog-table{width:100%;border-collapse:collapse;min-width:720px}.catalog-table thead th{text-align:left;padding:.5rem .65rem;font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;color:var(--cw-muted);font-weight:700;border-bottom:1px solid var(--cw-line);background:var(--cw-surface-2)}.catalog-table tbody td{padding:.6rem .65rem;border-bottom:1px solid var(--cw-surface-3);vertical-align:middle;font-size:.8125rem;color:var(--cw-ink-soft)}.td-code{font-weight:700;color:#0f766e;font-size:.8125rem}.td-name{font-weight:600}.td-description{color:var(--cw-muted);max-width:360px}.td-price{font-weight:700;color:var(--cw-ink-soft);white-space:nowrap}.td-exam .exam-main{font-weight:600;font-size:.8125rem;color:var(--cw-ink-soft)}.td-exam .exam-secondary{font-size:.75rem;color:var(--cw-muted);margin-top:.1rem}.td-exam .exam-secondary--muted{font-style:italic}.actions-col{width:140px}.action-buttons{display:flex;gap:.35rem;flex-wrap:wrap;align-items:center}.status-badge,.type-badge,.tax-badge,.mini-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .5rem;font-size:.6875rem;font-weight:700;line-height:1.2;border:1px solid transparent;white-space:nowrap}.status-badge--active{background:var(--cw-success-muted);color:var(--cw-success);border-color:#6ee7b7}.status-badge--inactive{background:var(--cw-danger-muted);color:var(--cw-danger);border-color:#fca5a5}.mini-badge{background:var(--cw-info-muted);color:var(--cw-info);border-color:#bae6fd}.mini-badge--ok{background:var(--cw-success-muted);color:var(--cw-success);border-color:#6ee7b7}.mini-badge--neutral{background:var(--cw-surface-2);color:var(--cw-muted);border-color:var(--cw-line)}.type-badge--exam{background:var(--cw-brand-muted);color:#0f766e;border-color:var(--cw-brand-border)}.type-badge--profile{background:#5b21b614;color:#5b21b6;border-color:#c4b5fd}.tax-badge--yes{background:var(--cw-success-muted);color:var(--cw-success);border-color:#6ee7b7}.tax-badge--no{background:var(--cw-surface-2);color:var(--cw-muted);border-color:var(--cw-line)}.state-box,.empty-state{min-height:100px;border:1px dashed var(--cw-line);border-radius:var(--cw-radius-md);background:var(--cw-surface-2);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.55rem;color:var(--cw-muted);text-align:center;padding:.85rem;font-size:.8125rem}.state-box--error{border-color:#fecaca;background:var(--cw-danger-muted);color:var(--cw-danger)}.spinner{width:28px;height:28px;border-radius:50%;border:2px solid var(--cw-surface-3);border-top-color:var(--cw-brand);animation:catalog-spin .75s linear infinite}@keyframes catalog-spin{to{transform:rotate(360deg)}}.pagination-bar{margin-top:.65rem;padding-top:.65rem;border-top:1px solid var(--cw-surface-3);display:flex;justify-content:space-between;align-items:center;gap:.55rem;flex-wrap:wrap}.pagination-pages{display:flex;gap:.35rem;flex-wrap:wrap}.pagination-btn,.pagination-page{height:34px;min-width:34px;border-radius:var(--cw-radius-sm);border:1px solid var(--cw-line);background:var(--cw-surface);color:var(--cw-ink-soft);padding:0 .65rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.pagination-btn:hover:not(:disabled),.pagination-page:hover:not(.pagination-page--active){background:var(--cw-surface-2);border-color:var(--cw-line-strong)}.pagination-btn:disabled{opacity:.5;cursor:not-allowed}.pagination-page--active{background:var(--cw-brand);color:#fff;border-color:var(--cw-brand)}.btn,.primary-button{height:36px;border:none;border-radius:var(--cw-radius-sm);padding:0 .9rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s ease,opacity .15s ease}.btn-primary,.primary-button{background:var(--cw-brand);color:#fff}.btn-primary:hover:not(:disabled),.primary-button:hover:not(:disabled){background:#0f766e}.btn-secondary{background:var(--cw-surface);color:var(--cw-ink-soft);border:1px solid var(--cw-line-strong)}.btn-secondary:hover:not(:disabled){background:var(--cw-surface-2)}.btn-outline{background:var(--cw-surface);color:#0f766e;border:1px solid var(--cw-brand-border)}.btn-outline:hover:not(:disabled){background:var(--cw-brand-muted)}.btn:disabled,.btn-action:disabled{opacity:.55;cursor:not-allowed}.btn-action,.table-action{height:auto;border:1px solid var(--cw-line);background:var(--cw-surface);color:var(--cw-ink-soft);border-radius:var(--cw-radius-sm);padding:.28rem .55rem;font-size:.75rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease}.btn-action:hover:not(:disabled),.table-action:hover{background:var(--cw-surface-2);border-color:var(--cw-line-strong)}.btn-edit{border-color:var(--cw-brand-border);color:#0f766e;background:var(--cw-brand-muted)}.btn-danger{border-color:#fca5a5;color:var(--cw-danger);background:var(--cw-danger-muted)}.btn-success{border-color:#6ee7b7;color:var(--cw-success);background:var(--cw-success-muted)}.btn-aux{border-color:#c4b5fd;color:#5b21b6;background:#5b21b614}.icon-btn{width:32px;height:32px;border-radius:var(--cw-radius-sm);border:1px solid var(--cw-line);background:var(--cw-surface);display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;padding:0;transition:background .15s ease,border-color .15s ease}.icon-btn:hover{background:var(--cw-surface-2)}.icon-btn--edit{border-color:var(--cw-brand-border);background:var(--cw-brand-muted)}.icon-btn--aux{border-color:#c4b5fd;background:#5b21b614}.icon-btn--report{border-color:#93c5fd;background:#2563eb14}.icon-btn--danger{border-color:#fca5a5;background:var(--cw-danger-muted)}.icon-btn--success{border-color:#6ee7b7;background:var(--cw-success-muted)}.catalog-page-shell{gap:.65rem}.catalog-page-header{display:flex;justify-content:space-between;align-items:flex-end;gap:.75rem;flex-wrap:wrap;background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:var(--cw-radius-lg);padding:.85rem 1rem;box-shadow:var(--cw-shadow-1)}.catalog-page-header h1{margin:0 0 .2rem;font-size:1.35rem;font-weight:700;color:var(--cw-ink-soft);letter-spacing:-.02em}.catalog-page-header p{margin:0;color:var(--cw-muted);font-size:.8125rem;line-height:1.45;max-width:52ch}.catalog-filters-slot{background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:var(--cw-radius-lg);padding:.75rem 1rem;box-shadow:var(--cw-shadow-1)}.catalog-content-slot{background:var(--cw-surface);border:1px solid var(--cw-line);border-radius:var(--cw-radius-lg);padding:.85rem 1rem;box-shadow:var(--cw-shadow-1)}.catalog-home-page{gap:.85rem}.catalog-home-hero{position:relative;display:flex;justify-content:space-between;align-items:stretch;gap:1rem;overflow:hidden;background:linear-gradient(135deg,rgba(13,148,136,.07) 0%,transparent 42%),linear-gradient(180deg,var(--cw-surface) 0%,var(--cw-surface-2) 100%);border:1px solid var(--cw-line);border-radius:var(--cw-radius-lg);padding:1rem 1.1rem;box-shadow:var(--cw-shadow-1)}.catalog-home-hero__main{position:relative;z-index:1;flex:1;min-width:0}.catalog-home-hero__aside{position:relative;z-index:1;display:flex;flex-direction:column;align-items:flex-end;justify-content:space-between;flex-shrink:0;min-width:7rem}.catalog-home-badge{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;background:var(--cw-brand-muted);border:1px solid var(--cw-brand-border);color:#0f766e;font-size:.625rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase;margin-bottom:.5rem}.catalog-home-hero h1{margin:0 0 .35rem;font-size:1.5rem;font-weight:700;color:var(--cw-ink-soft);letter-spacing:-.03em;line-height:1.15}.catalog-home-hero__lead{margin:0;max-width:54ch;color:var(--cw-muted);font-size:.8125rem;line-height:1.5}.catalog-home-hero__tags{display:flex;flex-wrap:wrap;gap:.35rem;margin:.65rem 0 0;padding:0;list-style:none}.catalog-home-hero__tags li{display:inline-flex;align-items:center;padding:.18rem .5rem;border-radius:999px;background:var(--cw-surface);border:1px solid var(--cw-line);color:var(--cw-muted);font-size:.6875rem;font-weight:600}.catalog-home-stat{display:flex;flex-direction:column;align-items:flex-end;gap:.05rem;padding:.5rem .65rem;border-radius:var(--cw-radius-md);background:var(--cw-surface);border:1px solid var(--cw-line);box-shadow:var(--cw-shadow-1)}.catalog-home-stat__value{font-size:1.5rem;font-weight:700;color:#0f766e;letter-spacing:-.03em;line-height:1}.catalog-home-stat__label{font-size:.6875rem;font-weight:600;color:var(--cw-muted);text-transform:uppercase;letter-spacing:.04em}.catalog-home-hero__pattern{position:absolute;right:-1.5rem;bottom:-1.5rem;width:8rem;height:8rem;border-radius:50%;background:radial-gradient(circle,rgba(13,148,136,.12) 0%,transparent 70%);pointer-events:none}.catalog-home-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.65rem}.catalog-home-card{display:flex;flex-direction:column;gap:.55rem;min-height:0;padding:.85rem .95rem;text-decoration:none;color:inherit;transition:border-color .18s ease,box-shadow .18s ease,transform .18s ease}.catalog-home-card:hover{border-color:var(--cw-brand-border);box-shadow:var(--cw-shadow-2);transform:translateY(-2px)}.catalog-home-card[data-module="0"] .catalog-home-card__icon{color:#0f766e;background:var(--cw-brand-muted);border-color:var(--cw-brand-border)}.catalog-home-card[data-module="1"] .catalog-home-card__icon{color:#0369a1;background:var(--cw-info-muted);border-color:#bae6fd}.catalog-home-card[data-module="2"] .catalog-home-card__icon{color:#5b21b6;background:#5b21b614;border-color:#c4b5fd}.catalog-home-card[data-module="3"] .catalog-home-card__icon{color:#b45309;background:#b4530914;border-color:#fcd34d}.catalog-home-card__icon{display:inline-flex;align-items:center;justify-content:center;width:2.25rem;height:2.25rem;border-radius:var(--cw-radius-sm);border:1px solid var(--cw-line);flex-shrink:0}.catalog-home-card__icon svg{width:1.15rem;height:1.15rem}.catalog-home-card__body{flex:1;min-width:0}.catalog-home-card__body h2{margin:0 0 .2rem;font-size:.9375rem;font-weight:700;color:var(--cw-ink-soft);letter-spacing:-.02em;line-height:1.25}.catalog-home-card__body p{margin:0;color:var(--cw-muted);font-size:.75rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.catalog-home-card__footer{margin-top:auto;padding-top:.35rem;border-top:1px solid var(--cw-surface-3)}.catalog-home-card__cta{display:inline-flex;align-items:center;gap:.35rem;font-size:.75rem;font-weight:600;color:#0f766e;transition:gap .15s ease}.catalog-home-card__cta svg{width:.875rem;height:.875rem;flex-shrink:0;transition:transform .15s ease}.catalog-home-card:hover .catalog-home-card__cta{gap:.5rem}.catalog-home-card:hover .catalog-home-card__cta svg{transform:translate(2px)}@media (max-width: 1024px){.hero-card{flex-direction:column;align-items:stretch}.hero-actions{justify-content:flex-start}.filters-grid,.filters-grid--compact{grid-template-columns:1fr}.filter-actions{justify-content:flex-start}.list-header{flex-direction:column;align-items:flex-start}.list-header-right{width:100%;justify-content:space-between}.pagination-bar{flex-direction:column;align-items:stretch}.pagination-pages{justify-content:center}}@media (max-width: 900px){.catalog-home-hero{flex-direction:column}.catalog-home-hero__aside{flex-direction:row;align-items:center;justify-content:flex-start;width:100%}}@media (max-width: 640px){.catalog-home-grid{grid-template-columns:1fr}}.modal-backdrop{position:fixed;inset:0;z-index:1200;display:flex;align-items:center;justify-content:center;padding:.85rem;overflow:hidden;background:#070b146b;backdrop-filter:blur(4px)}.modal-panel{width:min(700px,100%);max-height:min(100vh - 1.5rem,720px);background:#fff;border:1px solid #d4dbe7;border-radius:12px;box-shadow:0 6px 18px #0206170f;overflow:hidden;display:flex;flex-direction:column}.modal-panel--large{width:min(920px,100%);max-height:min(100vh - 1.5rem,820px)}.modal-header{display:flex;justify-content:space-between;align-items:flex-start;gap:.65rem;flex-shrink:0;padding:.6rem .9rem .5rem;border-bottom:1px solid #d4dbe7}.modal-header h2{margin:0 0 .12rem;font-size:1rem;font-weight:700;color:#0f172a;letter-spacing:-.02em;line-height:1.2}.modal-header p{margin:0;max-width:54ch;color:#475569;font-size:.6875rem;line-height:1.35}.icon-close{width:32px;height:32px;border-radius:8px;border:1px solid #d4dbe7;background:#fff;color:#475569;font-size:.875rem;line-height:1;cursor:pointer;flex-shrink:0;display:inline-flex;align-items:center;justify-content:center;transition:background .15s ease,border-color .15s ease,color .15s ease}.icon-close:hover{border-color:#b8c4d6;color:#0f172a;background:#f4f6f9}.modal-form,.modal-body{flex:1;min-height:0;overflow-y:auto;overflow-x:hidden;scrollbar-gutter:stable}.modal-form{padding:.45rem .9rem .55rem;display:flex;flex-direction:column}.modal-body{padding:.5rem .9rem .65rem}.form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.75rem;row-gap:.4rem;align-items:start}.form-group{display:flex;flex-direction:column;gap:.18rem;min-width:0}.form-group-full{grid-column:1/-1}.form-group--wide{grid-column:span 1}.form-group label{font-size:.6875rem;font-weight:600;color:#475569;line-height:1.2}.form-group input,.form-group select,.form-group textarea{width:100%;box-sizing:border-box;border:1px solid #d4dbe7;border-radius:7px;background:#fff;color:#0f172a;font-size:.8125rem;outline:none;transition:border-color .15s ease,box-shadow .15s ease}.form-group input,.form-group select{height:40px;padding:0 .55rem}.form-group select{appearance:none;padding-right:1.75rem;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23475569' d='M2.5 4.5 6 8l3.5-3.5'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right .5rem center;cursor:pointer}.form-group textarea{min-height:72px;max-height:120px;padding:.45rem .55rem;resize:vertical;line-height:1.4}.form-group input:focus,.form-group select:focus,.form-group textarea:focus{border-color:#0d9488;box-shadow:0 0 0 3px #0d94881a}.form-group-checkbox{justify-content:flex-start;padding-top:.15rem}.checkbox-label{display:inline-flex;align-items:center;gap:.45rem;cursor:pointer;font-size:.8125rem;font-weight:600;color:#0f172a}.checkbox-label input[type=checkbox]{width:.9rem;height:.9rem;margin:0;accent-color:#0d9488;flex-shrink:0}.checkbox-grid{grid-column:1/-1;display:grid;grid-template-columns:repeat(2,minmax(0,1fr));column-gap:.65rem;row-gap:.4rem;margin-top:.15rem}.checkbox-item{display:flex;align-items:center;gap:.45rem;min-height:0;padding:.45rem .6rem;border:1px solid #d4dbe7;border-radius:8px;background:#f4f6f9;color:#0f172a;font-size:.8125rem;font-weight:600;cursor:pointer;transition:border-color .15s ease,background .15s ease}.checkbox-item:hover{border-color:#b8c4d6;background:#fff}.checkbox-item input{width:.9rem;height:.9rem;margin:0;accent-color:#0d9488;flex-shrink:0}.field-error{color:#991b1b;font-size:.6875rem;line-height:1.3}.field-help{color:#475569;font-size:.6875rem;line-height:1.35}.alert{margin-bottom:.4rem;border-radius:8px;padding:.45rem .65rem;font-size:.8125rem;font-weight:600}.alert-error{background:#991b1b14;border:1px solid #fecaca;color:#991b1b}.inline-loading{display:flex;align-items:center;gap:.5rem;margin-bottom:.4rem;padding:.45rem .65rem;border-radius:8px;background:#f4f6f9;border:1px solid #d4dbe7;color:#475569;font-size:.8125rem;font-weight:600}.modal-actions{display:flex;justify-content:flex-end;gap:.45rem;flex-shrink:0;margin-top:.45rem;padding:.5rem 0 .15rem;border-top:1px solid #d4dbe7;background:linear-gradient(180deg,#fffffff0,#fff 24%);position:sticky;bottom:0}.btn{height:36px;min-width:100px;border-radius:8px;padding:0 .85rem;font-size:.8125rem;font-weight:600;cursor:pointer;transition:background .15s ease,border-color .15s ease,opacity .15s ease}.btn:disabled{opacity:.55;cursor:not-allowed}.btn-primary{border:none;background:#0d9488;color:#fff}.btn-primary:hover:not(:disabled){background:#0f766e}.btn-secondary{background:#fff;color:#0f172a;border:1px solid #b8c4d6}.btn-secondary:hover:not(:disabled){background:#f4f6f9}.btn-picker{width:fit-content;min-width:140px}.selected-item-card,.selected-exam-box{margin-top:.35rem;padding:.5rem .65rem;border-radius:8px;border:1px solid #5eead4;background:#0d94881a}.selected-exam-box--empty{border-style:dashed;border-color:#d4dbe7;background:#f4f6f9;color:#475569;font-size:.8125rem}.selected-item-main,.selected-exam-main{color:#0f172a;font-size:.8125rem;font-weight:600;line-height:1.35}.selected-item-secondary,.selected-exam-secondary{margin-top:.15rem;color:#475569;font-size:.6875rem;line-height:1.35}.selected-exam-actions{display:flex;gap:.4rem;margin-top:.35rem;flex-wrap:wrap}.filters-grid{display:grid;grid-template-columns:2fr 1fr auto;gap:.45rem;align-items:end;margin-bottom:.5rem}.filter-actions{display:flex;gap:.4rem;align-items:center;flex-wrap:wrap}.table-wrapper{overflow-x:auto}.catalog-table{width:100%;border-collapse:collapse;min-width:640px}.catalog-table thead th{text-align:left;padding:.45rem .55rem;font-size:.6875rem;letter-spacing:.04em;text-transform:uppercase;color:#475569;font-weight:700;border-bottom:1px solid #d4dbe7;background:#f4f6f9}.catalog-table tbody td{padding:.5rem .55rem;border-bottom:1px solid #e8edf4;vertical-align:middle;font-size:.8125rem;color:#0f172a}.catalog-table tbody tr:hover{background:#0d948808}.td-code{font-weight:700;color:#0f766e;white-space:nowrap}.td-exam,.td-profile{min-width:200px}.exam-main,.profile-main{font-weight:600;font-size:.8125rem;color:#0f172a}.exam-secondary,.profile-secondary{margin-top:.08rem;font-size:.75rem;color:#475569;line-height:1.35}.profile-secondary--muted{font-style:italic}.actions-col{width:80px}.action-buttons{display:flex;align-items:center;justify-content:center}.icon-btn{width:32px;height:32px;border-radius:8px;border:1px solid #d4dbe7;background:#fff;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-size:.85rem;padding:0;transition:background .15s ease,border-color .15s ease}.icon-btn--select{color:#047857;border-color:#6ee7b7;background:#0478571a}.icon-btn--select:hover{background:#04785729}.state-box{min-height:100px;border:1px dashed #d4dbe7;border-radius:10px;background:#f4f6f9;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.45rem;color:#475569;text-align:center;padding:.75rem;font-size:.8125rem}.state-box--empty{border-style:dashed}.spinner{width:24px;height:24px;border-radius:50%;border:2px solid #e8edf4;border-top-color:#0d9488;animation:catalog-modal-spin .75s linear infinite}@keyframes catalog-modal-spin{to{transform:rotate(360deg)}}@media (max-width: 900px){.modal-backdrop{padding:.5rem}.modal-panel,.modal-panel--large{width:100%;max-height:calc(100vh - 1rem)}.form-grid,.checkbox-grid,.filters-grid{grid-template-columns:1fr}.modal-actions{flex-direction:column-reverse}.btn{width:100%;min-width:unset}}.hero-eyebrow-row{display:flex;flex-wrap:wrap;align-items:center;gap:.45rem;margin-bottom:.35rem}.module-eyebrow{display:inline-flex;align-items:center;padding:.12rem .45rem;border-radius:999px;background:var(--cw-brand-muted, rgba(13, 148, 136, .1));border:1px solid var(--cw-brand-border, #5eead4);color:#0f766e;font-size:.65rem;font-weight:700;letter-spacing:.04em;text-transform:uppercase}.context-badge{display:inline-flex;align-items:center;padding:.12rem .5rem;border-radius:999px;background:var(--cw-surface-2, #f4f6f9);border:1px solid var(--cw-line, #d4dbe7);color:var(--cw-muted, #475569);font-size:.6875rem;font-weight:600}.filters-grid--inventory{grid-template-columns:repeat(auto-fill,minmax(11.5rem,1fr))}.filters-grid--inventory-wide{grid-template-columns:repeat(auto-fill,minmax(10rem,1fr))}.filters-grid--inventory .form-group-full,.filters-grid--inventory-wide .form-group-full{grid-column:1/-1}.form-group--checkbox{justify-content:flex-end}.form-group--checkbox label{display:inline-flex;align-items:center;gap:.45rem;min-height:42px;margin:0;font-size:.8125rem;font-weight:600;color:var(--cw-ink-soft, #0f172a);cursor:pointer}.form-group--checkbox input[type=checkbox]{width:1rem;height:1rem;accent-color:var(--cw-brand, #0d9488)}.inventory-page .catalog-table .text-center,.inventory-page .catalog-table th.text-center,.inventory-page .catalog-table td.text-center{text-align:center}.inventory-page .catalog-table .text-right,.inventory-page .catalog-table th.text-right,.inventory-page .catalog-table td.text-right{text-align:right;font-variant-numeric:tabular-nums;white-space:nowrap}.inventory-page .catalog-table th.numeric-cell,.inventory-page .catalog-table td.numeric-cell{text-align:center;font-variant-numeric:tabular-nums;white-space:nowrap;vertical-align:middle}.inventory-page .catalog-table th.status-cell,.inventory-page .catalog-table td.status-cell{text-align:center;vertical-align:middle;white-space:nowrap}.inventory-page .catalog-table td.status-cell .stock-level-badge,.inventory-page .catalog-table td.status-cell .movement-type-badge{margin-inline:auto}.movement-type-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .5rem;font-size:.6875rem;font-weight:700;line-height:1.2;border:1px solid transparent;white-space:nowrap}.movement-type-badge--INBOUND{background:var(--cw-success-muted, rgba(4, 120, 87, .1));color:var(--cw-success, #047857);border-color:#6ee7b7}.movement-type-badge--OUTBOUND{background:var(--cw-danger-muted, rgba(153, 27, 27, .08));color:var(--cw-danger, #991b1b);border-color:#fca5a5}.movement-type-badge--ADJUSTMENT{background:var(--cw-info-muted, rgba(3, 105, 161, .08));color:var(--cw-info, #0369a1);border-color:#bae6fd}.stock-level-badge{display:inline-flex;align-items:center;border-radius:999px;padding:.18rem .5rem;font-size:.6875rem;font-weight:700;line-height:1.2;border:1px solid transparent;white-space:nowrap}.stock-level-badge--EMPTY{background:var(--cw-danger-muted, rgba(153, 27, 27, .08));color:var(--cw-danger, #991b1b);border-color:#fca5a5}.stock-level-badge--LOW{background:#d977061a;color:#b45309;border-color:#fcd34d}.stock-level-badge--OK{background:var(--cw-success-muted, rgba(4, 120, 87, .1));color:var(--cw-success, #047857);border-color:#6ee7b7}.inventory-page{display:flex;flex-direction:column;gap:.65rem}.inventory-page .catalog-table .actions-col{text-align:center;vertical-align:middle;width:6.5rem}.inventory-page .action-buttons{display:inline-flex;align-items:center;justify-content:center;gap:.35rem;flex-wrap:wrap}.inventory-page .action-buttons .icon-btn{width:30px;height:30px;min-width:30px;font-size:.78rem;line-height:1}.state-box__hint{display:block;margin-top:.35rem;font-size:.8125rem;color:var(--cw-muted, #64748b)}.modal-panel--inventory{max-width:34rem}.form-grid--inventory-modal{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:.55rem .75rem}.form-grid--inventory-modal .form-group-full{grid-column:1/-1}.modal-form--compact .form-group label{font-size:.75rem}.modal-form--compact .form-group input,.modal-form--compact .form-group select,.modal-form--compact .form-group textarea{min-height:2.125rem;padding:.35rem .55rem;font-size:.8125rem}.modal-form--compact .form-group textarea{min-height:3.25rem}.input-readonly{background:var(--cw-surface-2, #f8fafc);color:var(--cw-muted, #64748b);cursor:not-allowed}.field-hint{display:block;margin-top:.2rem;font-size:.6875rem;color:var(--cw-muted, #64748b)}.field-hint--warn{color:#b45309}.inv-toggle-row{display:flex;flex-wrap:wrap;align-items:center;gap:1rem 1.5rem}.inv-toggle{display:inline-flex;align-items:center;gap:.5rem;margin:0;cursor:pointer;-webkit-user-select:none;user-select:none}.inv-toggle input{position:absolute;opacity:0;width:0;height:0;pointer-events:none}.inv-toggle__track{position:relative;width:2rem;height:1.125rem;border-radius:999px;background:#cbd5e1;transition:background .15s ease;flex-shrink:0}.inv-toggle__track:after{content:"";position:absolute;top:2px;left:2px;width:.875rem;height:.875rem;border-radius:50%;background:#fff;box-shadow:0 1px 2px #0f172a26;transition:transform .15s ease}.inv-toggle input:checked+.inv-toggle__track{background:var(--cw-brand, #0d9488)}.inv-toggle input:checked+.inv-toggle__track:after{transform:translate(.875rem)}.inv-toggle__label{font-size:.8125rem;font-weight:600;color:var(--cw-ink-soft, #0f172a)}@media (max-width: 1024px){.filters-grid--inventory,.filters-grid--inventory-wide,.form-grid--inventory-modal{grid-template-columns:1fr}}:root{--lc-primary: var(--color-primary, #1e3a8a);--lc-primary-light: var(--color-primary-light, #3b82f6);--lc-primary-soft: var(--color-primary-soft, #e0e7ff);--lc-page-bg: #f6f8fc;--lc-page-gradient: linear-gradient(180deg, #f8fbff 0%, #f3f6fb 100%);--lc-card-bg: #ffffff;--lc-soft-surface: #f8fbff;--lc-border: #e5edf6;--lc-border-strong: #d4dbe7;--lc-text-primary: #0f172a;--lc-text-secondary: #64748b;--lc-text-muted: #94a3b8;--lc-success: #047857;--lc-success-soft-bg: #ecfdf5;--lc-success-soft-border: #a7f3d0;--lc-warning: #b45309;--lc-warning-soft-bg: #fffbeb;--lc-warning-soft-border: #fcd34d;--lc-danger: #b91c1c;--lc-danger-soft-bg: #fff5f5;--lc-danger-soft-border: #fecaca;--lc-info: #0369a1;--lc-info-soft-bg: #eff6ff;--lc-info-soft-border: #bfdbfe;--lc-purple-soft-bg: #f5f3ff;--lc-purple-soft-border: #ddd6fe;--lc-neutral-soft-bg: #f1f5f9;--lc-neutral-soft-border: #e2e8f0;--lc-radius-sm: 10px;--lc-radius-md: 14px;--lc-radius-lg: 18px;--lc-radius-xl: 22px;--lc-radius-pill: 999px;--lc-shadow-soft: 0 1px 2px rgba(15, 23, 42, .04), 0 4px 12px rgba(15, 23, 42, .04);--lc-shadow-medium: 0 2px 4px rgba(15, 23, 42, .05), 0 10px 24px rgba(15, 23, 42, .07);--lc-shadow-floating: 0 8px 24px rgba(15, 23, 42, .1), 0 2px 6px rgba(15, 23, 42, .04);--lc-shadow-dialog: 0 24px 48px rgba(15, 23, 42, .18);--lc-space-1: 8px;--lc-space-2: 12px;--lc-space-3: 16px;--lc-space-4: 20px;--lc-space-5: 24px;--lc-space-6: 32px;--lc-sidebar-width: 236px;--lc-topbar-height: 58px;--lc-content-padding: 1.25rem;--lc-topbar-bg: rgba(255, 255, 255, .88);--lc-topbar-blur: blur(12px);--lc-z-sidebar: 40;--lc-z-topbar: 30;--lc-z-sidebar-backdrop: 35;--lc-z-dialog-backdrop: 1300;--lc-z-dialog: 1301;--lc-z-dialog-nested-backdrop: 1400;--lc-z-dialog-nested: 1401;--color-bg-main: var(--lc-page-bg);--color-bg-card: var(--lc-card-bg);--color-text-main: var(--lc-text-primary);--color-text-secondary: var(--lc-text-secondary);--color-border: var(--lc-border)}.lc-card,.lc-section-card{background:var(--lc-card-bg);border:1px solid var(--lc-border);border-radius:var(--lc-radius-lg);box-shadow:var(--lc-shadow-soft);padding:var(--lc-space-4) var(--lc-space-5)}.lc-card--soft{background:var(--lc-soft-surface);box-shadow:none}.lc-card--glass{background:#ffffffd1;backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.lc-card--highlight{border-color:color-mix(in srgb,var(--lc-primary-light) 28%,var(--lc-border));box-shadow:var(--lc-shadow-medium);background:linear-gradient(135deg,#fffffffa,#eff6ffeb)}.lc-section-card{display:flex;flex-direction:column;gap:var(--lc-space-3)}.lc-card__header,.lc-section-card__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--lc-space-2);margin-bottom:var(--lc-space-1)}.lc-card__title,.lc-section-card__title{margin:0;font-size:1rem;font-weight:800;letter-spacing:-.02em;color:var(--lc-text-primary);line-height:1.25}.lc-card__subtitle,.lc-section-card__subtitle{margin:.2rem 0 0;font-size:.8125rem;color:var(--lc-text-secondary);line-height:1.4}.layout-content .table-card,.layout-content .summary-card{border-color:var(--lc-border);border-radius:var(--lc-radius-lg);box-shadow:var(--lc-shadow-soft)}.layout-content .summary-card{background:var(--lc-card-bg)}.lc-btn{display:inline-flex;align-items:center;justify-content:center;gap:.4rem;min-height:2.125rem;padding:.4rem .85rem;border:1px solid transparent;border-radius:var(--lc-radius-sm);font-family:inherit;font-size:.8125rem;font-weight:600;line-height:1.2;cursor:pointer;transition:background .15s ease,border-color .15s ease,color .15s ease,box-shadow .15s ease}.lc-btn:disabled{opacity:.55;cursor:not-allowed;box-shadow:none}.lc-btn--primary{background:linear-gradient(180deg,var(--lc-primary-light) 0%,var(--lc-primary) 100%);color:#fff;box-shadow:0 1px 2px #1e3a8a33}.lc-btn--primary:hover:not(:disabled){filter:brightness(1.04)}.lc-btn--secondary{background:var(--lc-card-bg);border-color:var(--lc-border);color:var(--lc-text-primary)}.lc-btn--secondary:hover:not(:disabled){background:var(--lc-soft-surface);border-color:var(--lc-border-strong)}.lc-btn--ghost{background:transparent;border-color:transparent;color:var(--lc-text-secondary)}.lc-btn--ghost:hover:not(:disabled){background:var(--lc-neutral-soft-bg);color:var(--lc-text-primary)}.lc-btn--danger-soft{background:var(--lc-danger-soft-bg);border-color:var(--lc-danger-soft-border);color:var(--lc-danger)}.lc-btn--danger-soft:hover:not(:disabled){background:#fee2e2}.lc-btn--success-soft{background:var(--lc-success-soft-bg);border-color:var(--lc-success-soft-border);color:var(--lc-success)}.lc-btn--success-soft:hover:not(:disabled){filter:brightness(.98)}.lc-btn--icon{width:2.125rem;min-width:2.125rem;padding:0}.lc-btn-row{display:flex;flex-wrap:wrap;align-items:center;gap:.5rem}.lc-badge{display:inline-flex;align-items:center;gap:.25rem;padding:.18rem .55rem;border-radius:var(--lc-radius-pill);border:1px solid transparent;font-size:.68rem;font-weight:700;line-height:1.2;letter-spacing:.02em;white-space:nowrap}.lc-badge--success{background:var(--lc-success-soft-bg);border-color:var(--lc-success-soft-border);color:var(--lc-success)}.lc-badge--warning{background:var(--lc-warning-soft-bg);border-color:var(--lc-warning-soft-border);color:var(--lc-warning)}.lc-badge--danger{background:var(--lc-danger-soft-bg);border-color:var(--lc-danger-soft-border);color:var(--lc-danger)}.lc-badge--info{background:var(--lc-info-soft-bg);border-color:var(--lc-info-soft-border);color:var(--lc-info)}.lc-badge--neutral{background:var(--lc-neutral-soft-bg);border-color:var(--lc-neutral-soft-border);color:var(--lc-text-secondary)}.lc-badge--purple{background:var(--lc-purple-soft-bg);border-color:var(--lc-purple-soft-border);color:#6d28d9}.status-badge{display:inline-flex;align-items:center;padding:.18rem .55rem;border-radius:var(--lc-radius-pill);border:1px solid transparent;font-size:.68rem;font-weight:700;line-height:1.2}.status-badge--active{background:var(--lc-success-soft-bg);border-color:var(--lc-success-soft-border);color:var(--lc-success)}.status-badge--inactive,.status-badge--blocked{background:var(--lc-neutral-soft-bg);border-color:var(--lc-neutral-soft-border);color:var(--lc-text-secondary)}.lc-form-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:var(--lc-space-2) var(--lc-space-3)}.lc-form-grid--3{grid-template-columns:repeat(3,minmax(0,1fr))}.lc-field{display:flex;flex-direction:column;gap:.3rem;min-width:0}.lc-field--span-2{grid-column:span 2}.lc-label{font-size:.68rem;font-weight:600;letter-spacing:.04em;text-transform:uppercase;color:var(--lc-text-secondary)}.lc-input,.lc-field input:not([type=checkbox]):not([type=radio]),.lc-field select,.lc-field textarea{width:100%;min-height:2.125rem;padding:.45rem .65rem;border:1px solid var(--lc-border);border-radius:var(--lc-radius-sm);background:var(--lc-card-bg);color:var(--lc-text-primary);font-family:inherit;font-size:.84rem;transition:border-color .15s ease,box-shadow .15s ease}.lc-input:focus,.lc-field input:not([type=checkbox]):not([type=radio]):focus,.lc-field select:focus,.lc-field textarea:focus{outline:none;border-color:color-mix(in srgb,var(--lc-primary-light) 45%,var(--lc-border));box-shadow:0 0 0 3px color-mix(in srgb,var(--lc-primary-light) 18%,transparent)}.lc-input[readonly],.lc-field input:not([type=checkbox]):not([type=radio])[readonly],.lc-field select[readonly],.lc-field textarea[readonly]{background:var(--lc-neutral-soft-bg);color:var(--lc-text-muted);cursor:default}.lc-help{margin:0;font-size:.72rem;color:var(--lc-text-muted);line-height:1.35}.lc-error{margin:0;font-size:.72rem;color:var(--lc-danger);font-weight:600}@media (max-width: 768px){.lc-form-grid,.lc-form-grid--3{grid-template-columns:1fr}.lc-field--span-2{grid-column:span 1}}.lc-table-shell,.swl-table-card{border:1px solid var(--lc-border);border-radius:var(--lc-radius-lg);background:var(--lc-card-bg);box-shadow:var(--lc-shadow-soft);overflow:hidden}.lc-table-shell{padding:0}.lc-table-wrap,.swl-table-wrap,.users-table-wrapper{width:100%;overflow-x:auto;-webkit-overflow-scrolling:touch}.lc-table,.swl-table,.users-table--premium{width:100%;border-collapse:collapse;font-size:.8125rem}.lc-table thead th,.swl-table thead th,.users-table--premium thead th{position:sticky;top:0;z-index:1;padding:.55rem .75rem;text-align:left;font-size:.68rem;font-weight:700;letter-spacing:.05em;text-transform:uppercase;color:var(--lc-text-secondary);background:#f8fafc;border-bottom:1px solid var(--lc-border);white-space:nowrap}.lc-table tbody td,.swl-table tbody td,.users-table--premium tbody td{padding:.5rem .75rem;border-bottom:1px solid #eef2f7;color:var(--lc-text-primary);vertical-align:top}.lc-table tbody tr:hover,.swl-table tbody tr:hover,.users-table--premium tbody tr:hover{background:#f8fbff}.lc-table__actions,.actions-column{width:1%;white-space:nowrap;text-align:right}.lc-table__header{display:flex;align-items:flex-start;justify-content:space-between;gap:var(--lc-space-2);padding:var(--lc-space-3) var(--lc-space-4);border-bottom:1px solid var(--lc-border)}.p-datatable .p-datatable-thead>tr>th{background:#f8fafc!important;color:var(--lc-text-secondary)!important;font-size:.68rem!important;font-weight:700!important;letter-spacing:.05em;text-transform:uppercase;border-color:var(--lc-border)!important;padding:.55rem .75rem!important}.p-datatable .p-datatable-tbody>tr>td{padding:.5rem .75rem!important;border-color:#eef2f7!important;font-size:.8125rem!important}.p-datatable .p-datatable-tbody>tr:hover{background:#f8fbff!important}.lc-dialog__backdrop,.lc-dialog-backdrop,.topbar-modal-backdrop,.swl-modal-backdrop{position:fixed;inset:0;z-index:var(--lc-z-dialog-backdrop);background:#0f172a73;backdrop-filter:blur(2px)}.lc-dialog__shell,.lc-dialog-shell,.topbar-modal-shell,.swl-modal-shell{position:fixed;inset:0;z-index:var(--lc-z-dialog);display:flex;align-items:center;justify-content:center;padding:var(--lc-space-4);pointer-events:none}.lc-dialog__card,.lc-dialog-card,.topbar-modal-card,.swl-modal-card{width:min(480px,100%);max-height:min(90vh,720px);display:flex;flex-direction:column;background:var(--lc-card-bg);border:1px solid var(--lc-border);border-radius:var(--lc-radius-md);box-shadow:var(--lc-shadow-dialog);pointer-events:auto;overflow:hidden}.lc-dialog__header,.lc-dialog-header,.topbar-modal-header,.swl-modal-header{display:flex;align-items:center;justify-content:space-between;gap:var(--lc-space-2);padding:var(--lc-space-4) var(--lc-space-4) var(--lc-space-2)}.lc-dialog__header h2,.lc-dialog__header h3,.lc-dialog-header h2,.lc-dialog-header h3,.topbar-modal-header h3,.swl-modal-header h3{margin:0;font-size:1.05rem;font-weight:800;color:var(--lc-text-primary)}.lc-dialog__subtitle{margin:.2rem 0 0;font-size:.8125rem;color:var(--lc-text-secondary)}.lc-dialog__body,.lc-dialog-body,.topbar-modal-body,.swl-modal-body{flex:1;min-height:0;overflow:auto;padding:0 var(--lc-space-4) var(--lc-space-3);color:var(--lc-text-secondary);line-height:1.5}.lc-dialog__footer,.lc-dialog-footer,.topbar-modal-footer,.swl-modal-footer{display:flex;flex-wrap:wrap;justify-content:flex-end;gap:.5rem;padding:var(--lc-space-3) var(--lc-space-4);border-top:1px solid var(--lc-border);background:var(--lc-soft-surface)}.lc-dialog__backdrop--nested,.lc-dialog-backdrop--nested{z-index:var(--lc-z-dialog-nested-backdrop)}.lc-dialog__shell--nested,.lc-dialog-shell--nested,.swl-modal-shell--nested{z-index:var(--lc-z-dialog-nested)}.swl-modal-backdrop--nested{z-index:var(--lc-z-dialog-nested-backdrop)}*,*:before,*:after{box-sizing:border-box}html,body{height:100%}body{margin:0;background:var(--lc-page-gradient);color:var(--lc-text-primary);font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Helvetica Neue,Arial,sans-serif;-webkit-font-smoothing:antialiased;text-rendering:optimizeLegibility}button,input,select,textarea{font:inherit}a{color:inherit}
