.cwh-root,.cwh-portal,.cwh-admin{--cwh-color-primary: #128c7e;--cwh-color-secondary: #0f172a;--cwh-color-accent: #f59e0b;--cwh-color-bg: #f8fafc;--cwh-color-surface: #ffffff;--cwh-color-text: #0f172a;--cwh-color-primary-hover: color-mix(in srgb, var(--cwh-color-primary) 85%, #000);--cwh-color-primary-soft: color-mix(in srgb, var(--cwh-color-primary) 10%, #fff);--cwh-color-muted: color-mix(in srgb, var(--cwh-color-text) 60%, #fff);--cwh-color-subtle: color-mix(in srgb, var(--cwh-color-text) 45%, #fff);--cwh-color-border: color-mix(in srgb, var(--cwh-color-text) 12%, #fff);--cwh-color-border-strong: color-mix(in srgb, var(--cwh-color-text) 22%, #fff);--cwh-color-hover: color-mix(in srgb, var(--cwh-color-text) 5%, #fff);--cwh-color-whatsapp: #1fa855;--cwh-color-whatsapp-hover: #178c46;--cwh-color-success: #15803d;--cwh-color-success-soft: #dcfce7;--cwh-color-warning: #b45309;--cwh-color-warning-soft: #fef3c7;--cwh-color-danger: #b91c1c;--cwh-color-danger-soft: #fee2e2;--cwh-color-info: #1d4ed8;--cwh-color-info-soft: #dbeafe;--cwh-color-sale: #dc2626;--cwh-font-family: system-ui, -apple-system, "Segoe UI", Roboto, "Helvetica Neue", Arial, sans-serif;--cwh-text-xs: .75rem;--cwh-text-sm: .875rem;--cwh-text-md: 1rem;--cwh-text-lg: 1.125rem;--cwh-text-xl: 1.375rem;--cwh-text-2xl: 1.75rem;--cwh-text-3xl: clamp(1.75rem, 1.2rem + 2.2vw, 2.75rem);--cwh-leading: 1.55;--cwh-weight-medium: 500;--cwh-weight-semibold: 600;--cwh-weight-bold: 700;--cwh-space-scale: 1;--cwh-space-1: calc(.25rem * var(--cwh-space-scale));--cwh-space-2: calc(.5rem * var(--cwh-space-scale));--cwh-space-3: calc(.75rem * var(--cwh-space-scale));--cwh-space-4: calc(1rem * var(--cwh-space-scale));--cwh-space-5: calc(1.5rem * var(--cwh-space-scale));--cwh-space-6: calc(2rem * var(--cwh-space-scale));--cwh-space-7: calc(3rem * var(--cwh-space-scale));--cwh-radius: 12px;--cwh-radius-sm: calc(var(--cwh-radius) * .5);--cwh-radius-lg: calc(var(--cwh-radius) * 1.5);--cwh-radius-pill: 999px;--cwh-border: 1px solid var(--cwh-color-border);--cwh-shadow-sm: 0 1px 2px rgb(15 23 42 / .06);--cwh-shadow-md: 0 4px 12px rgb(15 23 42 / .08), 0 1px 3px rgb(15 23 42 / .06);--cwh-shadow-lg: 0 18px 48px rgb(15 23 42 / .18);--cwh-max-width: 1280px;--cwh-sidebar-width: 260px;--cwh-drawer-width: 440px;--cwh-cols-desktop: 4;--cwh-cols-tablet: 3;--cwh-cols-mobile: 2;--cwh-image-ratio: 1/1;--cwh-header-height: 64px;--cwh-duration-fast: .12s;--cwh-duration: .24s;--cwh-ease: cubic-bezier(.2, .8, .2, 1);--cwh-z-header: 30;--cwh-z-overlay: 100050}@media(prefers-reduced-motion:reduce){.cwh-root,.cwh-portal,.cwh-admin{--cwh-duration-fast: 0ms;--cwh-duration: 0ms}}:is(.cwh-root,.cwh-portal,.cwh-admin){font-family:var(--cwh-font-family);color:var(--cwh-color-text);line-height:var(--cwh-leading);-webkit-font-smoothing:antialiased}:is(.cwh-root,.cwh-portal,.cwh-admin) *,:is(.cwh-root,.cwh-portal,.cwh-admin) *:before,:is(.cwh-root,.cwh-portal,.cwh-admin) *:after{box-sizing:border-box}:is(.cwh-root,.cwh-portal,.cwh-admin) :is(h1,h2,h3,h4,p,ul,ol,figure){margin:0}:is(.cwh-root,.cwh-portal,.cwh-admin) :is(h1,h2,h3,h4){font-family:inherit;color:inherit;letter-spacing:-.01em;line-height:1.25}:is(.cwh-root,.cwh-portal,.cwh-admin) img{max-width:100%;height:auto;display:block}:is(.cwh-root,.cwh-portal,.cwh-admin) button{font:inherit;color:inherit;cursor:pointer;text-transform:none;letter-spacing:normal}:is(.cwh-root,.cwh-portal,.cwh-admin) a{color:inherit}:is(.cwh-root,.cwh-portal,.cwh-admin) :focus-visible{outline:2px solid var(--cwh-color-primary);outline-offset:2px}.cwh-sr-only{position:absolute!important;width:1px;height:1px;padding:0;margin:-1px;overflow:hidden;clip:rect(0,0,0,0);white-space:nowrap;border:0}@keyframes cwh-spin{to{transform:rotate(360deg)}}.cwh-spin{animation:cwh-spin .8s linear infinite}@media(prefers-reduced-motion:reduce){.cwh-spin{animation-duration:2s}}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--cwh-space-2);min-height:44px;padding:0 var(--cwh-space-4);border-radius:var(--cwh-radius-sm);border:1px solid transparent;font-size:var(--cwh-text-sm);font-weight:var(--cwh-weight-semibold);line-height:1;text-decoration:none;white-space:nowrap;transition:background var(--cwh-duration-fast) ease,border-color var(--cwh-duration-fast) ease,color var(--cwh-duration-fast) ease,transform var(--cwh-duration-fast) ease;box-shadow:none}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn:active:not(:disabled){transform:translateY(1px)}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn:disabled{opacity:.55;cursor:not-allowed}.cwh-btn--sm{min-height:34px!important;padding:0 var(--cwh-space-3)!important;font-size:var(--cwh-text-xs)!important}.cwh-btn--lg{min-height:52px!important;font-size:var(--cwh-text-md)!important}.cwh-btn--block{width:100%}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn--primary{background:var(--cwh-color-primary);color:#fff}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn--primary:hover:not(:disabled){background:var(--cwh-color-primary-hover);color:#fff}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn--secondary{background:var(--cwh-color-surface);border-color:var(--cwh-color-border-strong);color:var(--cwh-color-text)}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn--secondary:hover:not(:disabled){background:var(--cwh-color-hover)}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn--outline{background:transparent;border-color:var(--cwh-color-primary);color:var(--cwh-color-primary)}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn--ghost{background:transparent;color:var(--cwh-color-text)}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn--ghost:hover:not(:disabled){background:var(--cwh-color-hover)}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn--danger{background:var(--cwh-color-danger);color:#fff}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn--whatsapp{background:var(--cwh-color-whatsapp);color:#fff}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-btn--whatsapp:hover:not(:disabled){background:var(--cwh-color-whatsapp-hover);color:#fff}[data-button=pill] .cwh-btn,.cwh-portal[data-button=pill] .cwh-btn{border-radius:var(--cwh-radius-pill)}[data-button=outline] .cwh-btn--primary{background:transparent!important;color:var(--cwh-color-primary)!important;border-color:var(--cwh-color-primary)!important}[data-button=outline] .cwh-btn--primary:hover:not(:disabled){background:var(--cwh-color-primary-soft)!important}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-icon-btn{display:inline-grid;place-items:center;width:40px;height:40px;padding:0;border:0;border-radius:var(--cwh-radius-sm);background:transparent;color:var(--cwh-color-text);transition:background var(--cwh-duration-fast);flex:none}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-icon-btn:hover{background:var(--cwh-color-hover)}.cwh-field{display:flex;flex-direction:column;gap:var(--cwh-space-1);min-width:0}.cwh-field__label{font-size:var(--cwh-text-sm);font-weight:var(--cwh-weight-medium);color:var(--cwh-color-text)}.cwh-field__req{color:var(--cwh-color-danger)}.cwh-field__help{font-size:var(--cwh-text-xs);color:var(--cwh-color-muted);display:block}.cwh-field__error{font-size:var(--cwh-text-xs);color:var(--cwh-color-danger)}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-input{width:100%;min-height:44px;padding:0 var(--cwh-space-3);font:inherit;font-size:var(--cwh-text-sm);color:var(--cwh-color-text);background:var(--cwh-color-surface);border:1px solid var(--cwh-color-border-strong);border-radius:var(--cwh-radius-sm);box-shadow:none;transition:border-color var(--cwh-duration-fast),box-shadow var(--cwh-duration-fast);margin:0;max-width:none}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-input:focus{outline:none;border-color:var(--cwh-color-primary);box-shadow:0 0 0 3px var(--cwh-color-primary-soft)}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-field--error .cwh-input{border-color:var(--cwh-color-danger)}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-textarea{min-height:96px;padding:var(--cwh-space-2) var(--cwh-space-3);resize:vertical;line-height:1.5}.cwh-select{position:relative}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-select select.cwh-input{appearance:none;-webkit-appearance:none;padding-right:36px;background-image:none;line-height:1.2}.cwh-select__icon{position:absolute;right:12px;top:50%;transform:translateY(-50%);pointer-events:none;color:var(--cwh-color-muted)}.cwh-check{display:flex;align-items:flex-start;gap:var(--cwh-space-2);cursor:pointer;font-size:var(--cwh-text-sm);position:relative;min-height:24px}.cwh-check input{position:absolute;top:1px;left:0;opacity:0;width:20px;height:20px;margin:0}.cwh-check__box{flex:none;width:20px;height:20px;margin-top:1px;border:1.5px solid var(--cwh-color-border-strong);border-radius:5px;background:var(--cwh-color-surface);display:grid;place-items:center;transition:all var(--cwh-duration-fast)}.cwh-check--radio .cwh-check__box{border-radius:50%}.cwh-check input:checked+.cwh-check__box{background:var(--cwh-color-primary);border-color:var(--cwh-color-primary)}.cwh-check input:checked+.cwh-check__box:after{content:"";width:10px;height:6px;border-left:2px solid #fff;border-bottom:2px solid #fff;transform:rotate(-45deg) translate(1px,-1px)}.cwh-check--radio input:checked+.cwh-check__box:after{width:8px;height:8px;border:0;border-radius:50%;background:#fff;transform:none}.cwh-check input:focus-visible+.cwh-check__box{outline:2px solid var(--cwh-color-primary);outline-offset:2px}.cwh-check input:disabled+.cwh-check__box{opacity:.5}.cwh-check__label{display:flex;flex:1;justify-content:space-between;gap:var(--cwh-space-2)}.cwh-check__hint{color:var(--cwh-color-subtle);font-size:var(--cwh-text-xs)}.cwh-switch-row{display:flex;align-items:flex-start;gap:var(--cwh-space-3)}.cwh-switch-row__label{font-size:var(--cwh-text-sm);font-weight:var(--cwh-weight-medium);cursor:pointer}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-switch{position:relative;flex:none;width:40px;height:24px;padding:0;border:0;border-radius:999px;background:var(--cwh-color-border-strong);transition:background var(--cwh-duration-fast)}.cwh-switch.is-on{background:var(--cwh-color-primary)!important}.cwh-switch__thumb{position:absolute;top:3px;left:3px;width:18px;height:18px;border-radius:50%;background:#fff;box-shadow:var(--cwh-shadow-sm);transition:transform var(--cwh-duration-fast) var(--cwh-ease)}.cwh-switch.is-on .cwh-switch__thumb{transform:translate(16px)}.cwh-badge{display:inline-flex;align-items:center;gap:4px;padding:2px 8px;border-radius:var(--cwh-radius-pill);font-size:var(--cwh-text-xs);font-weight:var(--cwh-weight-semibold);line-height:1.6;white-space:nowrap}.cwh-badge--neutral{background:var(--cwh-color-hover);color:var(--cwh-color-muted)}.cwh-badge--success{background:var(--cwh-color-success-soft);color:var(--cwh-color-success)}.cwh-badge--warning{background:var(--cwh-color-warning-soft);color:var(--cwh-color-warning)}.cwh-badge--danger{background:var(--cwh-color-danger-soft);color:var(--cwh-color-danger)}.cwh-badge--info{background:var(--cwh-color-info-soft);color:var(--cwh-color-info)}.cwh-badge--accent{background:var(--cwh-color-sale);color:#fff}.cwh-card{background:var(--cwh-color-surface);border:var(--cwh-border);border-radius:var(--cwh-radius);box-shadow:var(--cwh-shadow-sm);min-width:0}.cwh-card--padded{padding:var(--cwh-space-5)}.cwh-card__header{display:flex;align-items:center;justify-content:space-between;gap:var(--cwh-space-3);margin-bottom:var(--cwh-space-4)}.cwh-card__title{font-size:var(--cwh-text-md)!important;font-weight:var(--cwh-weight-semibold)}@keyframes cwh-shimmer{0%{background-position:-200% 0}to{background-position:200% 0}}.cwh-skeleton{display:block;border-radius:6px;background:linear-gradient(90deg,var(--cwh-color-hover) 25%,var(--cwh-color-border) 37%,var(--cwh-color-hover) 63%);background-size:400% 100%;animation:cwh-shimmer 1.4s ease infinite}@media(prefers-reduced-motion:reduce){.cwh-skeleton{animation:none}}.cwh-spinner{display:inline-flex;color:var(--cwh-color-primary)}.cwh-empty{display:flex;flex-direction:column;align-items:center;text-align:center;gap:var(--cwh-space-2);padding:var(--cwh-space-7) var(--cwh-space-4)}.cwh-empty__icon{display:grid;place-items:center;width:64px;height:64px;border-radius:50%;background:var(--cwh-color-hover);color:var(--cwh-color-muted);margin-bottom:var(--cwh-space-2)}.cwh-empty--error .cwh-empty__icon{background:var(--cwh-color-danger-soft);color:var(--cwh-color-danger)}.cwh-empty__title{font-weight:var(--cwh-weight-semibold);font-size:var(--cwh-text-lg)}.cwh-empty__desc{color:var(--cwh-color-muted);font-size:var(--cwh-text-sm);max-width:42ch;margin-bottom:var(--cwh-space-3)!important}.cwh-tabs{display:flex;gap:var(--cwh-space-1);border-bottom:var(--cwh-border);overflow-x:auto;scrollbar-width:none}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-tabs__tab{position:relative;display:inline-flex;align-items:center;gap:6px;padding:var(--cwh-space-3) var(--cwh-space-3);border:0;background:transparent;color:var(--cwh-color-muted);font-size:var(--cwh-text-sm);font-weight:var(--cwh-weight-medium);white-space:nowrap}.cwh-tabs__tab.is-active{color:var(--cwh-color-text)!important}.cwh-tabs__tab.is-active:after{content:"";position:absolute;left:8px;right:8px;bottom:-1px;height:2px;border-radius:2px;background:var(--cwh-color-primary)}.cwh-accordion{border-bottom:var(--cwh-border)}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-accordion__trigger{display:flex;width:100%;align-items:center;justify-content:space-between;gap:var(--cwh-space-2);padding:var(--cwh-space-3) 0;border:0;background:transparent;font-size:var(--cwh-text-sm);font-weight:var(--cwh-weight-semibold);text-align:left}.cwh-accordion__count{display:inline-grid;place-items:center;min-width:20px;height:20px;margin-left:8px;padding:0 6px;border-radius:999px;background:var(--cwh-color-primary);color:#fff;font-size:11px}.cwh-accordion__chevron{transition:transform var(--cwh-duration-fast);color:var(--cwh-color-muted)}.cwh-accordion.is-open .cwh-accordion__chevron{transform:rotate(180deg)}.cwh-accordion__panel{padding-bottom:var(--cwh-space-4)}.cwh-dropdown{position:relative;display:inline-block}.cwh-dropdown__menu{position:absolute;right:0;top:calc(100% + 4px);min-width:180px;padding:4px;background:var(--cwh-color-surface);border:var(--cwh-border);border-radius:var(--cwh-radius-sm);box-shadow:var(--cwh-shadow-md);z-index:20}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-dropdown__item{display:block;width:100%;padding:8px 10px;border:0;border-radius:6px;background:transparent;text-align:left;font-size:var(--cwh-text-sm)}.cwh-dropdown__item:hover,.cwh-dropdown__item:focus-visible{background:var(--cwh-color-hover)}.cwh-dropdown__item.is-danger{color:var(--cwh-color-danger)}.cwh-pagination{display:flex;justify-content:center;align-items:center;gap:4px;flex-wrap:wrap;margin-top:var(--cwh-space-6)}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-pagination__btn{display:inline-grid;place-items:center;min-width:40px;height:40px;padding:0 8px;border:var(--cwh-border);border-radius:var(--cwh-radius-sm);background:var(--cwh-color-surface);font-size:var(--cwh-text-sm)}.cwh-pagination__btn.is-active{background:var(--cwh-color-primary)!important;border-color:var(--cwh-color-primary)!important;color:#fff!important}.cwh-pagination__btn:disabled{opacity:.4;cursor:default}.cwh-pagination__ellipsis{padding:0 4px;color:var(--cwh-color-muted)}.cwh-dialog-layer{position:fixed;inset:0;z-index:var(--cwh-z-overlay)}.cwh-overlay{position:absolute;inset:0;background:#0f172a73;opacity:0;transition:opacity var(--cwh-duration) ease}.cwh-overlay--clear{background:transparent}.cwh-dialog-layer[data-state=open] .cwh-overlay{opacity:1}.cwh-drawer{position:absolute;top:0;bottom:0;right:0;width:min(var(--cwh-drawer-width),100vw);height:100vh;height:100dvh;display:flex;flex-direction:column;background:var(--cwh-color-surface);box-shadow:var(--cwh-shadow-lg);transform:translate(100%);transition:transform var(--cwh-duration) var(--cwh-ease);outline:none}.cwh-drawer--left{right:auto;left:0;transform:translate(-100%)}.cwh-dialog-layer[data-state=open] .cwh-drawer{transform:translate(0)}.cwh-drawer__header,.cwh-modal__header{display:flex;align-items:center;justify-content:space-between;gap:var(--cwh-space-3);padding:var(--cwh-space-4) var(--cwh-space-5);border-bottom:var(--cwh-border);flex:none}.cwh-drawer__title,.cwh-modal__title{font-size:var(--cwh-text-lg)!important;font-weight:var(--cwh-weight-bold)}.cwh-drawer__subtitle,.cwh-modal__subtitle{font-size:var(--cwh-text-xs);color:var(--cwh-color-muted)}.cwh-drawer__body,.cwh-modal__body{flex:1;overflow-y:auto;overscroll-behavior:contain;padding:var(--cwh-space-4) var(--cwh-space-5)}.cwh-drawer__footer,.cwh-modal__footer{flex:none;padding:var(--cwh-space-4) var(--cwh-space-5);padding-bottom:max(var(--cwh-space-4),env(safe-area-inset-bottom));border-top:var(--cwh-border);background:var(--cwh-color-surface)}@media(max-width:600px){.cwh-drawer{width:100vw}.cwh-drawer--left{width:min(86vw,var(--cwh-drawer-width))}.cwh-drawer__header,.cwh-drawer__body,.cwh-drawer__footer{padding-left:var(--cwh-space-4);padding-right:var(--cwh-space-4)}}.cwh-modal{position:absolute;left:50%;top:50%;width:min(560px,calc(100vw - 32px));max-height:calc(100dvh - 48px);display:flex;flex-direction:column;background:var(--cwh-color-surface);border-radius:var(--cwh-radius);box-shadow:var(--cwh-shadow-lg);transform:translate(-50%,-48%) scale(.98);opacity:0;transition:transform var(--cwh-duration) var(--cwh-ease),opacity var(--cwh-duration) ease;outline:none}.cwh-modal--sm{width:min(420px,calc(100vw - 32px))}.cwh-modal--lg{width:min(820px,calc(100vw - 32px))}.cwh-modal--xl{width:min(1100px,calc(100vw - 32px))}.cwh-dialog-layer[data-state=open] .cwh-modal{transform:translate(-50%,-50%) scale(1);opacity:1}.cwh-modal__footer{display:flex;justify-content:flex-end;gap:var(--cwh-space-2);border-radius:0 0 var(--cwh-radius) var(--cwh-radius)}.cwh-toaster{position:fixed;left:50%;bottom:max(16px,env(safe-area-inset-bottom));transform:translate(-50%);z-index:calc(var(--cwh-z-overlay) + 10);display:flex;flex-direction:column;gap:8px;width:min(420px,calc(100vw - 32px));pointer-events:none}@keyframes cwh-toast-in{0%{opacity:0;transform:translateY(8px)}}.cwh-toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--cwh-radius-sm);background:var(--cwh-color-secondary);color:#fff;box-shadow:var(--cwh-shadow-lg);font-size:var(--cwh-text-sm);pointer-events:auto;animation:cwh-toast-in var(--cwh-duration) var(--cwh-ease)}@media(max-width:600px){.cwh-toaster{top:max(12px,env(safe-area-inset-top));bottom:auto}}.cwh-toast--success svg:first-child{color:#4ade80}.cwh-toast--error{background:#7f1d1d}.cwh-toast__msg{flex:1}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-toast__action{border:0;background:transparent;color:#fff;font-weight:var(--cwh-weight-semibold);text-decoration:underline;padding:4px}:is(.cwh-root,.cwh-portal,.cwh-admin) .cwh-toast__close{border:0;background:transparent;color:#ffffffb3;display:grid;place-items:center;padding:4px}
