{"version":3,"file":"css/metabox.css","mappings":"AAaA,4BACI,wBAOJ,6BACI,6GCF0B,CDG1B,eACA,aC4D0B,CD3D1B,UAOJ,+BACI,aACA,mBACA,QACA,mBACA,eACA,aCgDgC,CD9ChC,mEACI,qCCY6B,CDX7B,aCSyB,CDRzB,yBACA,oBCsL6B,CDrL7B,iBACA,eACA,gBACA,oBACA,mBAQR,+BACI,aACA,eACA,QACA,mBAGJ,6BACI,oBACA,mBACA,QACA,iBACA,wBCxC+B,CDyC/B,yBACA,oBC2JiC,CD1JjC,eACA,eACA,gBACA,aCS0B,CDR1B,uJACI,CAGJ,iBAEA,mCACI,qCC9B6B,CD+B7B,oBCjCyB,CDkCzB,aClCyB,CDqC7B,wCACI,qCCpC6B,CDqC7B,oBCvCyB,CDwCzB,aCxCyB,CD2C7B,6CACI,YACA,eACA,oBCsFmC,CDpFnC,mDACI,wBCvEuB,CDwEvB,oBCkF+B,CDjF/B,aClBkB,CDuB1B,mDACI,kBACA,UACA,WACA,UACA,YACA,gBACA,sBACA,qBACA,mBACA,SEUJ,2CFNI,0BACA,mBAIR,0BACI,gBACA,YACA,UACA,eACA,aChF6B,CDiF7B,eACA,0BACA,0BACA,eAEA,gCACI,aCtF+B,CC2EnC,wCFeI,0BACA,mBACA,kBAQR,yBACI,cACA,kBACA,wBC9H+B,CD+H/B,yBACA,iBCkE+B,CDjE/B,eAGJ,gCACI,kBAGJ,+BACI,gBACA,eACA,yBACA,qBACA,aCtF0B,CDyF9B,iCACI,aACA,mBACA,QACA,aC3FgC,CD4FhC,eAEA,yCACI,WACA,qBACA,WACA,YACA,yBACA,wBCvIyB,CDwIzB,kBACA,qDACA,cAIR,8BACI,gBACA,iBACA,UAEA,iCACI,aACA,8BACA,mBACA,cAEA,4CACI,aCxH4B,CD2HhC,6CACI,gBACA,aC/JqB,CDoKjC,+BACI,aACA,8BACA,mBACA,gBACA,eACA,6BACA,eACA,gBACA,aC5I0B,CD+I9B,iCACI,eACA,iBACA,iBCP+B,CDQ/B,eAEA,4CACI,oCC1H6B,CD2H7B,aC7HyB,CD8HzB,yBAGJ,8CACI,mCCtF2B,CDuF3B,aCzFuB,CD0FvB,yBAQR,yBACI,cACA,WACA,iBCZoC,CDapC,gBACA,6DACA,UCzMqC,CD0MrC,YACA,kBCpC4B,CDqC5B,6GC/O0B,CDgP1B,eACA,gBACA,eACA,kBACA,sDAEA,kCACI,WACA,mBAGJ,8CACI,WEjJJ,uCFqJI,0BACA,mBAGJ,iCACI,WACA,YAEA,wCACI,WACA,kBACA,WACA,QACA,2BACA,WACA,YACA,oCACA,qBC9O6B,CD+O7B,kBACA,qDASZ,wBACI,cACA,kBACA,qBCvR6B,CDwR7B,yBACA,iBCtF+B,CDyFnC,8BACI,iBACA,UACA,eACA,gBACA,yBACA,qBACA,aCzOgC,CD4OpC,6BACI,SACA,UACA,gBAGJ,6BACI,aACA,mBACA,QACA,gBACA,kBACA,wBCjT+B,CDkT/B,yBACA,iBCjH+B,CDkH/B,eACA,eAEA,wCACI,gBAKR,oBACI,wBCpKuC,CDqKvC,aCpKyC,CDqKzC,oBC3HiC,CD4HjC,gBACA,eACA,gBAIJ,WACI,oBACA,mBACA,gBAEA,iBACI,oBCxI6B,CDyI7B,gBAGJ,kBACI,eACA,gBAGJ,mBACI,eACA,iBAGJ,oBACI,qCCpU6B,CDqU7B,aCvUyB,CD0U7B,oBACI,oCC9Q6B,CD+Q7B,aCjRyB,CDoR7B,oBACI,qCChQiC,CDiQjC,aCpQyB,CDuQ7B,mBACI,mCC9O2B,CD+O3B,aCjPuB,CDoP3B,oBACI,wBC/W2B,CDgX3B,aCxT4B,CD2ThC,iBACI,wBC3NmC,CD4NnC,aC3NqC,CD+N7C,uBACI,qBACA,WACA,YACA,yBACA,wBCzW6B,CD0W7B,kBACA,qDACA,cAGJ,qBACI,WACA,eACA,gBACA,mCC5Q+B,CD6Q/B,iBCxM+B,CDyM/B,aChR2B,CDiR3B,eAGJ,4BACI,aACA,QACA,WACA,eACA,eACA,aCpU6B,CDuUjC,8BACI,eACA,YACA,mCC9R+B,CD+R/B,yBACA,iBC3N+B,CD4N/B,aCnS2B,CDoS3B,eAGJ,gCACI,eACA,YACA,oCClViC,CDmVjC,yBACA,iBCrO+B,CDsO/B,aCvV6B,CDwV7B,eAOJ,4BACI,aAEA,mCACI,cACA,gBACA,iBACA,iBCrP2B,CDsP3B,eAGJ,oCACI,oCCzW6B,CD0W7B,aC5WyB,CD6WzB,yBAGJ,kCACI,mCCrU2B,CDsU3B,aCxUuB,CDyUvB,yBAGJ,oCACI,oCCnW6B,CDoW7B,aCtWyB,CDuWzB,yBAIR,qBACI,iBACA,UACA,gBAEA,wBACI,aACA,eACA,mBACA,QACA,cACA,6CACA,eAEA,mCACI,mBACA,iBAIR,uBACI,aC7cyB,CD8czB,qBAEA,6BACI,0BAIR,wCACI,aCjXuB,CDoX3B,0CACI,aC/ZyB,CDuajC,4BACI,gBACA,iBACA,6BAGJ,0BACI,cACA,eACA,gBACA,yBACA,qBACA,aC3cgC,CD4chC,kBAGJ,4BACI,SACA,UACA,gBAEA,+BACI,aACA,mBACA,QACA,cAIR,qBACI,eACA,aCjgB6B,CDkgB7B,qBACA,iBAEA,2BACI,0BAIR,0BACI,iBACA,iBChW+B,CDiW/B,eACA,aC3egC,CD4ehC,wBCriB+B,CDsiB/B,yBACA,kBACA,kBAOJ,kCACI,GACI,uBAEJ,KACI,0BExiBJ,mCFijBA,6BACI,aClgB2B,CDqgB/B,+BACI,aCpgBiC,CDsgBjC,mEACI,qCCniB8B,CDuiBtC,6BACI,wBChkBgC,CDikBhC,oBClgB6B,CDmgB7B,aChhB2B,CDkhB3B,2EAEI,qCC9iB8B,CD+iB9B,oBCjjB0B,CDkjB1B,aCljB0B,CDqjB9B,6CACI,gCClboC,CDobpC,mDACI,wBC/kBwB,CDglBxB,gCCtbgC,CDubhC,aC/hBmB,CDoiB/B,yBACI,wBCvlBgC,CDwlBhC,oBCzhB6B,CD4hBjC,+BACI,aC1iB2B,CD6iB/B,iCACI,aC5iBiC,CD8iBjC,yCACI,oBCpiByB,CDqiBzB,wBC9kB0B,CDklBlC,4CACI,aCtjBqC,CDyjBzC,+BACI,wBC9iB6B,CD+iB7B,aC5jB2B,CDgkB3B,4CACI,oCCjiB8B,CDkiB9B,aCpiB0B,CDqiB1B,oBCriB0B,CDwiB9B,8CACI,qCC3f4B,CD4f5B,aC9fwB,CD+fxB,oBC/fwB,CDmgBhC,wBACI,wBCjoB8B,CDkoB9B,oBClkB6B,CDqkBjC,6BACI,wBCroBgC,CDsoBhC,oBCvkB6B,CD0kBjC,8BACI,aCtlBiC,CDylBrC,oBACI,oCCpfwC,CDqfxC,aCpf0C,CDwf1C,oBACI,qCC5nB8B,CD+nBlC,oBACI,oCCtkB8B,CDukB9B,aCzkB0B,CD4kB9B,oBACI,qCCpjBkC,CDqjBlC,aCxjB0B,CD2jB9B,mBACI,qCCpiB4B,CDqiB5B,aCviBwB,CD0iB5B,oBACI,wBCtqB4B,CDuqB5B,aCpnB6B,CDunBjC,iBACI,oCClhBoC,CDmhBpC,aClhBsC,CDshB9C,uBACI,oBCnnB6B,CDonB7B,wBC7pB8B,CDgqBlC,qBACI,qCCzjBgC,CD0jBhC,aC5jB4B,CD+jBhC,4BACI,aC5mB8B,CD+mBlC,8BACI,qCClkBgC,CDmkBhC,oBCrkB4B,CDskB5B,aCtkB4B,CDykBhC,gCACI,oCCpnBkC,CDqnBlC,oBCvnB8B,CDwnB9B,aCxnB8B,CD4nB9B,oCACI,oCC3nB8B,CD4nB9B,aC9nB0B,CD+nB1B,oBC/nB0B,CDkoB9B,kCACI,qCCrlB4B,CDslB5B,aCxlBwB,CDylBxB,oBCzlBwB,CD4lB5B,oCACI,oCCjnB8B,CDknB9B,aCpnB0B,CDqnB1B,oBCrnB0B,CDynBlC,wBACI,2BCjqB6B,CDoqBjC,4BACI,wBCrqB6B,CDwqBjC,0BACI,aCprBiC,CDurBrC,0BACI,wBC5uBgC,CD6uBhC,oBC9qB6B,CD+qB7B,aC1rBiC,EDksBzC,wCACI,aCrsB+B,CDusB/B,uEACI,aCtsBiC,CDwsBjC,2GACI,qCCruB8B,CDyuBtC,qEACI,wBClwBgC,CDmwBhC,oBCpsB6B,CDqsB7B,aCltB2B,CDotB3B,2JAEI,qCChvB8B,CDivB9B,oBCnvB0B,CDovB1B,aCpvB0B,CDuvB9B,qFACI,gCCpnBoC,CDsnBpC,2FACI,wBCjxBwB,CDkxBxB,gCCxnBgC,CDynBhC,aCjuBmB,CDsuB/B,iEACI,wBCzxBgC,CD0xBhC,oBC3tB6B,CD8tBjC,uEACI,aC5uB2B,CD+uB/B,yEACI,aC9uBiC,CDgvBjC,iFACI,oBCtuByB,CDuuBzB,wBChxB0B,CDoxBlC,oFACI,aCxvBqC,CD2vBzC,uEACI,wBChvB6B,CDivB7B,aC9vB2B,CDkwB3B,oFACI,oCCnuB8B,CDouB9B,aCtuB0B,CDuuB1B,oBCvuB0B,CD0uB9B,sFACI,qCC7rB4B,CD8rB5B,aChsBwB,CDisBxB,oBCjsBwB,CDqsBhC,gEACI,wBCn0B8B,CDo0B9B,oBCpwB6B,CDuwBjC,qEACI,wBCv0BgC,CDw0BhC,oBCzwB6B,CD4wBjC,sEACI,aCxxBiC,CD2xBrC,4DACI,oCCtrBwC,CDurBxC,aCtrB0C,CD0rB1C,4DACI,qCC9zB8B,CDi0BlC,4DACI,oCCxwB8B,CDywB9B,aC3wB0B,CD8wB9B,4DACI,qCCtvBkC,CDuvBlC,aC1vB0B,CD6vB9B,2DACI,qCCtuB4B,CDuuB5B,aCzuBwB,CD4uB5B,4DACI,wBCx2B4B,CDy2B5B,aCtzB6B,CDyzBjC,yDACI,oCCptBoC,CDqtBpC,aCptBsC,CDwtB9C,+DACI,oBCrzB6B,CDszB7B,wBC/1B8B,CDk2BlC,6DACI,qCC3vBgC,CD4vBhC,aC9vB4B,CDiwBhC,oEACI,aC9yB8B,CDizBlC,sEACI,qCCpwBgC,CDqwBhC,oBCvwB4B,CDwwB5B,aCxwB4B,CD2wBhC,wEACI,oCCtzBkC,CDuzBlC,oBCzzB8B,CD0zB9B,aC1zB8B,CD8zB9B,4EACI,oCC7zB8B,CD8zB9B,aCh0B0B,CDi0B1B,oBCj0B0B,CDo0B9B,0EACI,qCCvxB4B,CDwxB5B,aC1xBwB,CD2xBxB,oBC3xBwB,CD8xB5B,4EACI,oCCnzB8B,CDozB9B,aCtzB0B,CDuzB1B,oBCvzB0B,CD2zBlC,gEACI,2BCn2B6B,CDs2BjC,oEACI,wBCv2B6B,CD02BjC,kEACI,aCt3BiC,CDy3BrC,kEACI,wBC96BgC,CD+6BhC,oBCh3B6B,CDi3B7B,aC53BiC,CDo4BzC,uCACI,wGAGI,gB","sources":["webpack://TranslatePressZone/./src/scss/metabox.scss","webpack://TranslatePressZone/./src/styles/_variables.scss","webpack://TranslatePressZone/./src/styles/_mixins.scss"],"sourcesContent":["// =============================================================================\n// AI Translation Meta Box Styles\n// =============================================================================\n// Styles for the \"AI Translation\" sidebar widget in the WordPress post editor.\n// Uses the plugin design system (badges, colors, typography, dark mode).\n// =============================================================================\n\n@use '../styles/globals' as *;\n\n// =============================================================================\n// Utility\n// =============================================================================\n\n.presszone-translate-hidden {\n    display: none !important;\n}\n\n// =============================================================================\n// Wrapper\n// =============================================================================\n\n.presszone-translate-metabox {\n    font-family: $presszone-multilingual-font;\n    font-size: 13px;\n    color: $presszone-multilingual-text;\n    padding: 0;\n}\n\n// =============================================================================\n// Source Language Badge\n// =============================================================================\n\n.presszone-metabox-source-lang {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    margin-bottom: 12px;\n    font-size: 12px;\n    color: $presszone-multilingual-text-muted;\n\n    .mpz-badge--primary.mpz-badge--pill {\n        background-color: $presszone-multilingual-primary-dim;\n        color: $presszone-multilingual-primary;\n        border: 1px solid $presszone-multilingual-primary;\n        border-radius: $presszone-multilingual-radius-full;\n        padding: 2px 10px;\n        font-size: 12px;\n        font-weight: 600;\n        display: inline-flex;\n        align-items: center;\n    }\n}\n\n// =============================================================================\n// Language Checkbox Pills\n// =============================================================================\n\n.presszone-language-checkboxes {\n    display: flex;\n    flex-wrap: wrap;\n    gap: 6px;\n    margin-bottom: 10px;\n}\n\n.presszone-language-checkbox {\n    display: inline-flex;\n    align-items: center;\n    gap: 6px;\n    padding: 5px 10px;\n    background-color: $presszone-multilingual-surface-2;\n    border: 1px solid $presszone-multilingual-border;\n    border-radius: $presszone-multilingual-radius-full;\n    cursor: pointer;\n    font-size: 12px;\n    font-weight: 500;\n    color: $presszone-multilingual-text;\n    transition:\n        background-color $presszone-multilingual-duration-fast $presszone-multilingual-ease-smooth,\n        border-color $presszone-multilingual-duration-fast $presszone-multilingual-ease-smooth,\n        color $presszone-multilingual-duration-fast $presszone-multilingual-ease-smooth;\n    user-select: none;\n\n    &:hover {\n        background-color: $presszone-multilingual-primary-dim;\n        border-color: $presszone-multilingual-primary;\n        color: $presszone-multilingual-primary;\n    }\n\n    &.is-checked {\n        background-color: $presszone-multilingual-primary-dim;\n        border-color: $presszone-multilingual-primary;\n        color: $presszone-multilingual-primary;\n    }\n\n    &.has-translation {\n        opacity: 0.65;\n        cursor: default;\n        border-color: $presszone-multilingual-badge-category-bg;\n\n        &:hover {\n            background-color: $presszone-multilingual-surface-2;\n            border-color: $presszone-multilingual-badge-category-bg;\n            color: $presszone-multilingual-text;\n        }\n    }\n\n    // Visually hidden checkbox input (clip-path technique, NOT display:none)\n    .presszone-lang-input {\n        position: absolute;\n        width: 1px;\n        height: 1px;\n        padding: 0;\n        margin: -1px;\n        overflow: hidden;\n        clip: rect(0, 0, 0, 0);\n        clip-path: inset(50%);\n        white-space: nowrap;\n        border: 0;\n    }\n\n    @include focus-state {\n        outline: 2px solid $presszone-multilingual-primary;\n        outline-offset: 2px;\n    }\n}\n\n.presszone-select-all-btn {\n    background: none;\n    border: none;\n    padding: 0;\n    font-size: 12px;\n    color: $presszone-multilingual-primary;\n    cursor: pointer;\n    text-decoration: underline;\n    text-underline-offset: 2px;\n    margin-top: 2px;\n\n    &:hover {\n        color: $presszone-multilingual-primary-hover;\n    }\n\n    @include focus-state {\n        outline: 2px solid $presszone-multilingual-primary;\n        outline-offset: 2px;\n        border-radius: 2px;\n    }\n}\n\n// =============================================================================\n// Character Count Section\n// =============================================================================\n\n.presszone-char-estimate {\n    margin: 12px 0;\n    padding: 10px 12px;\n    background-color: $presszone-multilingual-surface-2;\n    border: 1px solid $presszone-multilingual-border;\n    border-radius: $presszone-multilingual-radius-sm;\n    font-size: 12px;\n}\n\n.presszone-char-estimate-header {\n    margin-bottom: 8px;\n}\n\n.presszone-char-estimate-label {\n    font-weight: 700;\n    font-size: 11px;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    color: $presszone-multilingual-text;\n}\n\n.presszone-char-estimate-loading {\n    display: flex;\n    align-items: center;\n    gap: 8px;\n    color: $presszone-multilingual-text-muted;\n    font-size: 12px;\n\n    &::before {\n        content: '';\n        display: inline-block;\n        width: 12px;\n        height: 12px;\n        border: 2px solid $presszone-multilingual-border;\n        border-top-color: $presszone-multilingual-primary;\n        border-radius: 50%;\n        animation: presszone-metabox-spin 0.8s linear infinite;\n        flex-shrink: 0;\n    }\n}\n\n.presszone-char-estimate-list {\n    list-style: none;\n    margin: 0 0 8px 0;\n    padding: 0;\n\n    li {\n        display: flex;\n        justify-content: space-between;\n        align-items: center;\n        padding: 3px 0;\n\n        .lang-name {\n            color: $presszone-multilingual-text-secondary;\n        }\n\n        .char-value {\n            font-weight: 600;\n            color: $presszone-multilingual-primary;\n        }\n    }\n}\n\n.presszone-char-estimate-total {\n    display: flex;\n    justify-content: space-between;\n    align-items: center;\n    padding-top: 8px;\n    margin-top: 8px;\n    border-top: 1px solid $presszone-multilingual-border;\n    font-size: 13px;\n    font-weight: 700;\n    color: $presszone-multilingual-text;\n}\n\n.presszone-char-estimate-credits {\n    margin-top: 8px;\n    padding: 6px 10px;\n    border-radius: $presszone-multilingual-radius-sm;\n    font-size: 12px;\n\n    &.sufficient {\n        background-color: $presszone-multilingual-success-dim;\n        color: $presszone-multilingual-success;\n        border: 1px solid $presszone-multilingual-success;\n    }\n\n    &.insufficient {\n        background-color: $presszone-multilingual-error-dim;\n        color: $presszone-multilingual-error;\n        border: 1px solid $presszone-multilingual-error;\n    }\n}\n\n// =============================================================================\n// Translate Button\n// =============================================================================\n\n.presszone-translate-btn {\n    display: block;\n    width: 100%;\n    padding: $presszone-multilingual-btn-padding-md;\n    margin-top: 12px;\n    background: linear-gradient(135deg, $presszone-multilingual-primary 0%, $presszone-multilingual-primary-hover 100%);\n    color: $presszone-multilingual-text-on-primary;\n    border: none;\n    border-radius: $presszone-multilingual-radius;\n    font-family: $presszone-multilingual-font;\n    font-size: 13px;\n    font-weight: 600;\n    cursor: pointer;\n    position: relative;\n    transition: opacity $presszone-multilingual-duration-fast $presszone-multilingual-ease-smooth;\n\n    &:disabled {\n        opacity: 0.6;\n        cursor: not-allowed;\n    }\n\n    &:not(:disabled):hover {\n        opacity: 0.9;\n    }\n\n    @include focus-state {\n        outline: 2px solid $presszone-multilingual-primary;\n        outline-offset: 2px;\n    }\n\n    &.loading {\n        opacity: 0.7;\n        cursor: wait;\n\n        &::after {\n            content: '';\n            position: absolute;\n            right: 12px;\n            top: 50%;\n            transform: translateY(-50%);\n            width: 14px;\n            height: 14px;\n            border: 2px solid rgba($presszone-multilingual-text-on-primary, 0.4);\n            border-top-color: $presszone-multilingual-text-on-primary;\n            border-radius: 50%;\n            animation: presszone-metabox-spin 0.8s linear infinite;\n        }\n    }\n}\n\n// =============================================================================\n// Job Progress Section\n// =============================================================================\n\n.presszone-job-progress {\n    margin: 12px 0;\n    padding: 10px 12px;\n    background-color: $presszone-multilingual-surface;\n    border: 1px solid $presszone-multilingual-border;\n    border-radius: $presszone-multilingual-radius-sm;\n}\n\n.presszone-job-progress-title {\n    margin: 0 0 8px 0;\n    padding: 0;\n    font-size: 11px;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    color: $presszone-multilingual-text-muted;\n}\n\n.presszone-job-progress-list {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n}\n\n.presszone-job-progress-item {\n    display: flex;\n    align-items: center;\n    gap: 6px;\n    padding: 6px 8px;\n    margin-bottom: 6px;\n    background-color: $presszone-multilingual-surface-2;\n    border: 1px solid $presszone-multilingual-border;\n    border-radius: $presszone-multilingual-radius-sm;\n    font-size: 12px;\n    flex-wrap: wrap;\n\n    &:last-child {\n        margin-bottom: 0;\n    }\n}\n\n// Language badge within job progress\n.presszone-job-lang {\n    background-color: $presszone-multilingual-badge-category-bg;\n    color: $presszone-multilingual-badge-category-text;\n    border-radius: $presszone-multilingual-radius-full;\n    padding: 1px 8px;\n    font-size: 11px;\n    font-weight: 600;\n}\n\n// Status badge variants (inline mpz-badge styles for job progress)\n.mpz-badge {\n    display: inline-flex;\n    align-items: center;\n    font-weight: 500;\n\n    &--pill {\n        border-radius: $presszone-multilingual-radius-full;\n        padding: 2px 8px;\n    }\n\n    &--small {\n        font-size: 11px;\n        padding: 1px 7px;\n    }\n\n    &--medium {\n        font-size: 12px;\n        padding: 3px 10px;\n    }\n\n    &--primary {\n        background-color: $presszone-multilingual-primary-dim;\n        color: $presszone-multilingual-primary;\n    }\n\n    &--success {\n        background-color: $presszone-multilingual-success-dim;\n        color: $presszone-multilingual-success;\n    }\n\n    &--warning {\n        background-color: $presszone-multilingual-warning-dim-alt;\n        color: $presszone-multilingual-warning;\n    }\n\n    &--danger {\n        background-color: $presszone-multilingual-error-dim;\n        color: $presszone-multilingual-error;\n    }\n\n    &--default {\n        background-color: $presszone-multilingual-surface-3;\n        color: $presszone-multilingual-text-muted;\n    }\n\n    &--info {\n        background-color: $presszone-multilingual-badge-category-bg;\n        color: $presszone-multilingual-badge-category-text;\n    }\n}\n\n.presszone-job-spinner {\n    display: inline-block;\n    width: 12px;\n    height: 12px;\n    border: 2px solid $presszone-multilingual-border;\n    border-top-color: $presszone-multilingual-primary;\n    border-radius: 50%;\n    animation: presszone-metabox-spin 0.8s linear infinite;\n    flex-shrink: 0;\n}\n\n.presszone-job-error {\n    width: 100%;\n    margin-top: 4px;\n    padding: 4px 6px;\n    background-color: $presszone-multilingual-error-dim;\n    border-radius: $presszone-multilingual-radius-sm;\n    color: $presszone-multilingual-error;\n    font-size: 11px;\n}\n\n.presszone-job-success-info {\n    display: flex;\n    gap: 8px;\n    width: 100%;\n    margin-top: 4px;\n    font-size: 11px;\n    color: $presszone-multilingual-success;\n}\n\n.presszone-job-progress-error {\n    margin-top: 8px;\n    padding: 8px;\n    background-color: $presszone-multilingual-error-dim;\n    border: 1px solid $presszone-multilingual-error;\n    border-radius: $presszone-multilingual-radius-sm;\n    color: $presszone-multilingual-error;\n    font-size: 12px;\n}\n\n.presszone-job-progress-success {\n    margin-top: 8px;\n    padding: 8px;\n    background-color: $presszone-multilingual-success-dim;\n    border: 1px solid $presszone-multilingual-success;\n    border-radius: $presszone-multilingual-radius-sm;\n    color: $presszone-multilingual-success;\n    font-size: 12px;\n}\n\n// =============================================================================\n// Status / Results Area\n// =============================================================================\n\n.presszone-translate-status {\n    display: none;\n\n    &.status {\n        display: block;\n        margin-top: 10px;\n        padding: 8px 10px;\n        border-radius: $presszone-multilingual-radius-sm;\n        font-size: 12px;\n    }\n\n    &.success {\n        background-color: $presszone-multilingual-success-dim;\n        color: $presszone-multilingual-success;\n        border: 1px solid $presszone-multilingual-success;\n    }\n\n    &.error {\n        background-color: $presszone-multilingual-error-dim;\n        color: $presszone-multilingual-error;\n        border: 1px solid $presszone-multilingual-error;\n    }\n\n    &.loading {\n        background-color: $presszone-multilingual-warning-dim;\n        color: $presszone-multilingual-warning;\n        border: 1px solid $presszone-multilingual-warning;\n    }\n}\n\n.translation-results {\n    margin: 8px 0 0 0;\n    padding: 0;\n    list-style: none;\n\n    li {\n        display: flex;\n        flex-wrap: wrap;\n        align-items: center;\n        gap: 6px;\n        padding: 5px 0;\n        border-bottom: 1px solid rgba($presszone-multilingual-border, 0.5);\n        font-size: 12px;\n\n        &:last-child {\n            border-bottom: none;\n            padding-bottom: 0;\n        }\n    }\n\n    a {\n        color: $presszone-multilingual-primary;\n        text-decoration: none;\n\n        &:hover {\n            text-decoration: underline;\n        }\n    }\n\n    .translation-error {\n        color: $presszone-multilingual-error;\n    }\n\n    .translation-created {\n        color: $presszone-multilingual-success;\n    }\n}\n\n// =============================================================================\n// Existing Translations List\n// =============================================================================\n\n.presszone-metabox-existing {\n    margin-top: 12px;\n    padding-top: 10px;\n    border-top: 1px solid $presszone-multilingual-border;\n}\n\n.presszone-existing-label {\n    display: block;\n    font-size: 11px;\n    font-weight: 700;\n    text-transform: uppercase;\n    letter-spacing: 0.05em;\n    color: $presszone-multilingual-text-muted;\n    margin-bottom: 8px;\n}\n\n.presszone-translation-list {\n    margin: 0;\n    padding: 0;\n    list-style: none;\n\n    li {\n        display: flex;\n        align-items: center;\n        gap: 8px;\n        padding: 4px 0;\n    }\n}\n\n.presszone-edit-link {\n    font-size: 11px;\n    color: $presszone-multilingual-primary;\n    text-decoration: none;\n    margin-left: auto;\n\n    &:hover {\n        text-decoration: underline;\n    }\n}\n\n.presszone-metabox-notice {\n    padding: 8px 10px;\n    border-radius: $presszone-multilingual-radius-sm;\n    font-size: 12px;\n    color: $presszone-multilingual-text-muted;\n    background-color: $presszone-multilingual-surface-2;\n    border: 1px solid $presszone-multilingual-border;\n    text-align: center;\n    font-style: italic;\n}\n\n// =============================================================================\n// Keyframe Animations\n// =============================================================================\n\n@keyframes presszone-metabox-spin {\n    0% {\n        transform: rotate(0deg);\n    }\n    100% {\n        transform: rotate(360deg);\n    }\n}\n\n// =============================================================================\n// Dark Mode — prefers-color-scheme\n// =============================================================================\n\n@include dark-mode {\n    .presszone-translate-metabox {\n        color: $presszone-multilingual-text-dark;\n    }\n\n    .presszone-metabox-source-lang {\n        color: $presszone-multilingual-text-muted-dark;\n\n        .mpz-badge--primary.mpz-badge--pill {\n            background-color: $presszone-multilingual-primary-dim-dark;\n        }\n    }\n\n    .presszone-language-checkbox {\n        background-color: $presszone-multilingual-surface-2-dark;\n        border-color: $presszone-multilingual-border-dark;\n        color: $presszone-multilingual-text-dark;\n\n        &:hover,\n        &.is-checked {\n            background-color: $presszone-multilingual-primary-dim-dark;\n            border-color: $presszone-multilingual-primary-dark;\n            color: $presszone-multilingual-primary-dark;\n        }\n\n        &.has-translation {\n            border-color: $presszone-multilingual-badge-category-bg-dark;\n\n            &:hover {\n                background-color: $presszone-multilingual-surface-2-dark;\n                border-color: $presszone-multilingual-badge-category-bg-dark;\n                color: $presszone-multilingual-text-dark;\n            }\n        }\n    }\n\n    .presszone-char-estimate {\n        background-color: $presszone-multilingual-surface-2-dark;\n        border-color: $presszone-multilingual-border-dark;\n    }\n\n    .presszone-char-estimate-label {\n        color: $presszone-multilingual-text-dark;\n    }\n\n    .presszone-char-estimate-loading {\n        color: $presszone-multilingual-text-muted-dark;\n\n        &::before {\n            border-color: $presszone-multilingual-border-dark;\n            border-top-color: $presszone-multilingual-primary-dark;\n        }\n    }\n\n    .presszone-char-estimate-list li .lang-name {\n        color: $presszone-multilingual-text-secondary-dark;\n    }\n\n    .presszone-char-estimate-total {\n        border-top-color: $presszone-multilingual-border-dark;\n        color: $presszone-multilingual-text-dark;\n    }\n\n    .presszone-char-estimate-credits {\n        &.sufficient {\n            background-color: $presszone-multilingual-success-dim-dark;\n            color: $presszone-multilingual-success-dark;\n            border-color: $presszone-multilingual-success-dark;\n        }\n\n        &.insufficient {\n            background-color: $presszone-multilingual-error-dim-dark;\n            color: $presszone-multilingual-error-dark;\n            border-color: $presszone-multilingual-error-dark;\n        }\n    }\n\n    .presszone-job-progress {\n        background-color: $presszone-multilingual-surface-dark;\n        border-color: $presszone-multilingual-border-dark;\n    }\n\n    .presszone-job-progress-item {\n        background-color: $presszone-multilingual-surface-2-dark;\n        border-color: $presszone-multilingual-border-dark;\n    }\n\n    .presszone-job-progress-title {\n        color: $presszone-multilingual-text-muted-dark;\n    }\n\n    .presszone-job-lang {\n        background-color: $presszone-multilingual-badge-category-bg-dark;\n        color: $presszone-multilingual-badge-category-text-dark;\n    }\n\n    .mpz-badge {\n        &--primary {\n            background-color: $presszone-multilingual-primary-dim-dark;\n        }\n\n        &--success {\n            background-color: $presszone-multilingual-success-dim-dark;\n            color: $presszone-multilingual-success-dark;\n        }\n\n        &--warning {\n            background-color: $presszone-multilingual-warning-dim-alt-dark;\n            color: $presszone-multilingual-warning-dark;\n        }\n\n        &--danger {\n            background-color: $presszone-multilingual-error-dim-dark;\n            color: $presszone-multilingual-error-dark;\n        }\n\n        &--default {\n            background-color: $presszone-multilingual-surface-3-dark;\n            color: $presszone-multilingual-text-muted-dark;\n        }\n\n        &--info {\n            background-color: $presszone-multilingual-badge-category-bg-dark;\n            color: $presszone-multilingual-badge-category-text-dark;\n        }\n    }\n\n    .presszone-job-spinner {\n        border-color: $presszone-multilingual-border-dark;\n        border-top-color: $presszone-multilingual-primary-dark;\n    }\n\n    .presszone-job-error {\n        background-color: $presszone-multilingual-error-dim-dark;\n        color: $presszone-multilingual-error-dark;\n    }\n\n    .presszone-job-success-info {\n        color: $presszone-multilingual-success-dark;\n    }\n\n    .presszone-job-progress-error {\n        background-color: $presszone-multilingual-error-dim-dark;\n        border-color: $presszone-multilingual-error-dark;\n        color: $presszone-multilingual-error-dark;\n    }\n\n    .presszone-job-progress-success {\n        background-color: $presszone-multilingual-success-dim-dark;\n        border-color: $presszone-multilingual-success-dark;\n        color: $presszone-multilingual-success-dark;\n    }\n\n    .presszone-translate-status {\n        &.success {\n            background-color: $presszone-multilingual-success-dim-dark;\n            color: $presszone-multilingual-success-dark;\n            border-color: $presszone-multilingual-success-dark;\n        }\n\n        &.error {\n            background-color: $presszone-multilingual-error-dim-dark;\n            color: $presszone-multilingual-error-dark;\n            border-color: $presszone-multilingual-error-dark;\n        }\n\n        &.loading {\n            background-color: $presszone-multilingual-warning-dim-dark;\n            color: $presszone-multilingual-warning-dark;\n            border-color: $presszone-multilingual-warning-dark;\n        }\n    }\n\n    .translation-results li {\n        border-bottom-color: $presszone-multilingual-border-dark;\n    }\n\n    .presszone-metabox-existing {\n        border-top-color: $presszone-multilingual-border-dark;\n    }\n\n    .presszone-existing-label {\n        color: $presszone-multilingual-text-muted-dark;\n    }\n\n    .presszone-metabox-notice {\n        background-color: $presszone-multilingual-surface-2-dark;\n        border-color: $presszone-multilingual-border-dark;\n        color: $presszone-multilingual-text-muted-dark;\n    }\n}\n\n// =============================================================================\n// Dark Mode — .dark-mode class (WordPress forced dark mode)\n// =============================================================================\n\n.dark-mode .presszone-translate-metabox {\n    color: $presszone-multilingual-text-dark;\n\n    .presszone-metabox-source-lang {\n        color: $presszone-multilingual-text-muted-dark;\n\n        .mpz-badge--primary.mpz-badge--pill {\n            background-color: $presszone-multilingual-primary-dim-dark;\n        }\n    }\n\n    .presszone-language-checkbox {\n        background-color: $presszone-multilingual-surface-2-dark;\n        border-color: $presszone-multilingual-border-dark;\n        color: $presszone-multilingual-text-dark;\n\n        &:hover,\n        &.is-checked {\n            background-color: $presszone-multilingual-primary-dim-dark;\n            border-color: $presszone-multilingual-primary-dark;\n            color: $presszone-multilingual-primary-dark;\n        }\n\n        &.has-translation {\n            border-color: $presszone-multilingual-badge-category-bg-dark;\n\n            &:hover {\n                background-color: $presszone-multilingual-surface-2-dark;\n                border-color: $presszone-multilingual-badge-category-bg-dark;\n                color: $presszone-multilingual-text-dark;\n            }\n        }\n    }\n\n    .presszone-char-estimate {\n        background-color: $presszone-multilingual-surface-2-dark;\n        border-color: $presszone-multilingual-border-dark;\n    }\n\n    .presszone-char-estimate-label {\n        color: $presszone-multilingual-text-dark;\n    }\n\n    .presszone-char-estimate-loading {\n        color: $presszone-multilingual-text-muted-dark;\n\n        &::before {\n            border-color: $presszone-multilingual-border-dark;\n            border-top-color: $presszone-multilingual-primary-dark;\n        }\n    }\n\n    .presszone-char-estimate-list li .lang-name {\n        color: $presszone-multilingual-text-secondary-dark;\n    }\n\n    .presszone-char-estimate-total {\n        border-top-color: $presszone-multilingual-border-dark;\n        color: $presszone-multilingual-text-dark;\n    }\n\n    .presszone-char-estimate-credits {\n        &.sufficient {\n            background-color: $presszone-multilingual-success-dim-dark;\n            color: $presszone-multilingual-success-dark;\n            border-color: $presszone-multilingual-success-dark;\n        }\n\n        &.insufficient {\n            background-color: $presszone-multilingual-error-dim-dark;\n            color: $presszone-multilingual-error-dark;\n            border-color: $presszone-multilingual-error-dark;\n        }\n    }\n\n    .presszone-job-progress {\n        background-color: $presszone-multilingual-surface-dark;\n        border-color: $presszone-multilingual-border-dark;\n    }\n\n    .presszone-job-progress-item {\n        background-color: $presszone-multilingual-surface-2-dark;\n        border-color: $presszone-multilingual-border-dark;\n    }\n\n    .presszone-job-progress-title {\n        color: $presszone-multilingual-text-muted-dark;\n    }\n\n    .presszone-job-lang {\n        background-color: $presszone-multilingual-badge-category-bg-dark;\n        color: $presszone-multilingual-badge-category-text-dark;\n    }\n\n    .mpz-badge {\n        &--primary {\n            background-color: $presszone-multilingual-primary-dim-dark;\n        }\n\n        &--success {\n            background-color: $presszone-multilingual-success-dim-dark;\n            color: $presszone-multilingual-success-dark;\n        }\n\n        &--warning {\n            background-color: $presszone-multilingual-warning-dim-alt-dark;\n            color: $presszone-multilingual-warning-dark;\n        }\n\n        &--danger {\n            background-color: $presszone-multilingual-error-dim-dark;\n            color: $presszone-multilingual-error-dark;\n        }\n\n        &--default {\n            background-color: $presszone-multilingual-surface-3-dark;\n            color: $presszone-multilingual-text-muted-dark;\n        }\n\n        &--info {\n            background-color: $presszone-multilingual-badge-category-bg-dark;\n            color: $presszone-multilingual-badge-category-text-dark;\n        }\n    }\n\n    .presszone-job-spinner {\n        border-color: $presszone-multilingual-border-dark;\n        border-top-color: $presszone-multilingual-primary-dark;\n    }\n\n    .presszone-job-error {\n        background-color: $presszone-multilingual-error-dim-dark;\n        color: $presszone-multilingual-error-dark;\n    }\n\n    .presszone-job-success-info {\n        color: $presszone-multilingual-success-dark;\n    }\n\n    .presszone-job-progress-error {\n        background-color: $presszone-multilingual-error-dim-dark;\n        border-color: $presszone-multilingual-error-dark;\n        color: $presszone-multilingual-error-dark;\n    }\n\n    .presszone-job-progress-success {\n        background-color: $presszone-multilingual-success-dim-dark;\n        border-color: $presszone-multilingual-success-dark;\n        color: $presszone-multilingual-success-dark;\n    }\n\n    .presszone-translate-status {\n        &.success {\n            background-color: $presszone-multilingual-success-dim-dark;\n            color: $presszone-multilingual-success-dark;\n            border-color: $presszone-multilingual-success-dark;\n        }\n\n        &.error {\n            background-color: $presszone-multilingual-error-dim-dark;\n            color: $presszone-multilingual-error-dark;\n            border-color: $presszone-multilingual-error-dark;\n        }\n\n        &.loading {\n            background-color: $presszone-multilingual-warning-dim-dark;\n            color: $presszone-multilingual-warning-dark;\n            border-color: $presszone-multilingual-warning-dark;\n        }\n    }\n\n    .translation-results li {\n        border-bottom-color: $presszone-multilingual-border-dark;\n    }\n\n    .presszone-metabox-existing {\n        border-top-color: $presszone-multilingual-border-dark;\n    }\n\n    .presszone-existing-label {\n        color: $presszone-multilingual-text-muted-dark;\n    }\n\n    .presszone-metabox-notice {\n        background-color: $presszone-multilingual-surface-2-dark;\n        border-color: $presszone-multilingual-border-dark;\n        color: $presszone-multilingual-text-muted-dark;\n    }\n}\n\n// =============================================================================\n// Reduced Motion\n// =============================================================================\n\n@media (prefers-reduced-motion: reduce) {\n    .presszone-char-estimate-loading::before,\n    .presszone-job-spinner,\n    .presszone-translate-btn.loading::after {\n        animation: none;\n    }\n}\n","// ==========================================================================\n// Comments Press Zone - Admin SCSS Variables\n// ==========================================================================\n// This file contains all design tokens as SCSS variables for the admin panel.\n// Light mode variables are the default, dark mode uses -dark suffix.\n// Usage: Use light vars normally, use -dark vars inside .dark-mode & { } blocks.\n//\n// Example:\n//   .card {\n//       background: $presszone-multilingual-surface;\n//       .dark-mode & {\n//           background: $presszone-multilingual-surface-dark;\n//       }\n//   }\n// ==========================================================================\n\n// ==========================================================================\n// TYPOGRAPHY\n// ==========================================================================\n\n$presszone-multilingual-font: 'Plus Jakarta Sans', -apple-system, BlinkMacSystemFont, \"Segoe UI\", Roboto, Helvetica, Arial, sans-serif;\n\n// ==========================================================================\n// COLORS - BACKGROUNDS\n// ==========================================================================\n\n// Light Mode\n$presszone-multilingual-bg: #f8fafc;\n$presszone-multilingual-surface: #ffffff;\n$presszone-multilingual-surface-2: #f1f5f9;\n$presszone-multilingual-surface-3: #e2e8f0;\n$presszone-multilingual-surface-alt: #f8fafc;\n$presszone-multilingual-glass-bg: rgba(255, 255, 255, 0.9);\n\n// Dark Mode\n$presszone-multilingual-bg-dark: #131314;\n$presszone-multilingual-bg-start-dark: #131314;\n$presszone-multilingual-bg-end-dark: #1a1b1c;\n$presszone-multilingual-surface-dark: #1e1f20;\n$presszone-multilingual-surface-2-dark: #282a2c;\n$presszone-multilingual-surface-3-dark: #353739;\n$presszone-multilingual-surface-alt-dark: #1e1f20;\n$presszone-multilingual-glass-dark: rgba(30, 31, 32, 0.95);\n$presszone-multilingual-glass-bg-dark: rgba(30, 31, 32, 0.95);\n$presszone-multilingual-glass-border-dark: rgba(255, 255, 255, 0.08);\n\n// ==========================================================================\n// COLORS - PRIMARY\n// ==========================================================================\n\n// Light Mode\n$presszone-multilingual-primary: #1f71dd;\n$presszone-multilingual-primary-hover: #185bb5;\n$presszone-multilingual-primary-dim: rgba(31, 113, 221, 0.08);\n$presszone-multilingual-primary-glow: rgba(31, 113, 221, 0.15);\n$presszone-multilingual-text-on-primary: #ffffff;\n$presszone-multilingual-primary-shadow-sm: rgba(31, 113, 221, 0.2);\n$presszone-multilingual-primary-shadow-md: rgba(31, 113, 221, 0.25);\n$presszone-multilingual-primary-shadow-focus: rgba(31, 113, 221, 0.25);\n\n// Dark Mode\n$presszone-multilingual-primary-dark: #1f71dd;\n$presszone-multilingual-primary-hover-dark: #185bb5;\n$presszone-multilingual-primary-dim-dark: rgba(31, 113, 221, 0.15);\n$presszone-multilingual-primary-glow-dark: rgba(31, 113, 221, 0.25);\n$presszone-multilingual-primary-link-dark: #1f71dd;\n$presszone-multilingual-text-on-primary-dark: #ffffff;\n\n// ==========================================================================\n// COLORS - SECONDARY\n// ==========================================================================\n\n// Light Mode\n$presszone-multilingual-secondary: #238442;\n$presszone-multilingual-secondary-hover: #1a6633;\n\n// Dark Mode\n$presszone-multilingual-secondary-dark: #238442;\n\n// ==========================================================================\n// COLORS - TEXT\n// ==========================================================================\n\n// Light Mode\n$presszone-multilingual-text: #0f172a;\n$presszone-multilingual-text-secondary: #334155;\n$presszone-multilingual-text-muted: #64748b;\n\n// Dark Mode\n$presszone-multilingual-text-dark: #e3e3e3;\n$presszone-multilingual-text-secondary-dark: #c4c7c5;\n$presszone-multilingual-text-muted-dark: #9aa0a6;\n\n// ==========================================================================\n// COLORS - BORDERS\n// ==========================================================================\n\n// Light Mode\n$presszone-multilingual-border: #e2e8f0;\n$presszone-multilingual-border-hover: #cbd5e1;\n\n// Dark Mode\n$presszone-multilingual-border-dark: #3c4043;\n$presszone-multilingual-border-hover-dark: #5f6368;\n\n// ==========================================================================\n// COLORS - STATUS: SUCCESS\n// ==========================================================================\n\n// Light Mode\n$presszone-multilingual-success: #10b981;\n$presszone-multilingual-success-hover: #059669;\n$presszone-multilingual-success-dim: rgba(16, 185, 129, 0.2);\n$presszone-multilingual-success-dim-alt: rgba(74, 222, 128, 0.2);\n$presszone-multilingual-success-dim-lighter: rgba(74, 222, 128, 0.1);\n$presszone-multilingual-success-shadow: rgba(16, 185, 129, 0.3);\n$presszone-multilingual-success-shadow-hover: rgba(16, 185, 129, 0.4);\n\n// Dark Mode\n$presszone-multilingual-success-dark: #34d399;\n$presszone-multilingual-success-hover-dark: #10b981;\n$presszone-multilingual-success-dim-dark: rgba(52, 211, 153, 0.2);\n\n// ==========================================================================\n// COLORS - STATUS: WARNING\n// ==========================================================================\n\n// Light Mode\n$presszone-multilingual-warning: #f59e0b;\n$presszone-multilingual-warning-hover: #d97706;\n$presszone-multilingual-warning-dim: rgba(245, 158, 11, 0.2);\n$presszone-multilingual-warning-dim-alt: rgba(251, 191, 36, 0.15);\n$presszone-multilingual-warning-dim-alt2: rgba(251, 191, 36, 0.08);\n$presszone-multilingual-warning-dim-lighter: rgba(245, 158, 11, 0.15);\n$presszone-multilingual-warning-dim-lightest: rgba(245, 158, 11, 0.08);\n$presszone-multilingual-warning-dim-lightest2: rgba(245, 158, 11, 0.05);\n$presszone-multilingual-warning-border: rgba(251, 191, 36, 0.3);\n$presszone-multilingual-warning-gradient-start: rgba(245, 158, 11, 0.15);\n$presszone-multilingual-warning-gradient-end: rgba(245, 158, 11, 0.08);\n\n// Dark Mode\n$presszone-multilingual-warning-dark: #fbbf24;\n$presszone-multilingual-warning-hover-dark: #fbbf24;\n$presszone-multilingual-warning-dim-dark: rgba(251, 191, 36, 0.2);\n$presszone-multilingual-warning-dim-alt-dark: rgba(251, 191, 36, 0.15);\n$presszone-multilingual-warning-border-dark: rgba(251, 191, 36, 0.3);\n\n// ==========================================================================\n// COLORS - STATUS: ERROR\n// ==========================================================================\n\n// Light Mode\n$presszone-multilingual-error: #ef4444;\n$presszone-multilingual-error-hover: #dc2626;\n$presszone-multilingual-error-dim: rgba(239, 68, 68, 0.2);\n$presszone-multilingual-error-dim-alt: rgba(239, 68, 68, 0.1);\n$presszone-multilingual-error-dim-lighter: rgba(248, 113, 113, 0.1);\n$presszone-multilingual-error-dim-lightest: rgba(239, 68, 68, 0.05);\n$presszone-multilingual-error-border: rgba(239, 68, 68, 0.2);\n$presszone-multilingual-error-shadow: rgba(239, 68, 68, 0.3);\n$presszone-multilingual-error-shadow-hover: rgba(239, 68, 68, 0.4);\n\n// Dark Mode\n$presszone-multilingual-error-dark: #f87171;\n$presszone-multilingual-error-hover-dark: #f87171;\n$presszone-multilingual-error-dim-dark: rgba(248, 113, 113, 0.2);\n\n// ==========================================================================\n// COLORS - INFO\n// ==========================================================================\n\n// Light Mode\n$presszone-multilingual-info-bg: rgba(168, 199, 250, 0.1);\n$presszone-multilingual-info-border: rgba(168, 199, 250, 0.3);\n\n// Dark Mode\n$presszone-multilingual-info-bg-dark: rgba(59, 130, 246, 0.2);\n\n// ==========================================================================\n// COLORS - BADGE\n// ==========================================================================\n\n// Light Mode\n$presszone-multilingual-badge-category-bg: #dbeafe;\n$presszone-multilingual-badge-category-text: #1e40af;\n$presszone-multilingual-badge-section-bg: #dcfce7;\n$presszone-multilingual-badge-section-text: #166534;\n$presszone-multilingual-badge-link-bg: #fef3c7;\n$presszone-multilingual-badge-link-text: #92400e;\n$presszone-multilingual-badge-page-bg: #f3e8ff;\n$presszone-multilingual-badge-page-text: #7c3aed;\n\n// Dark Mode\n$presszone-multilingual-badge-category-bg-dark: rgba(59, 130, 246, 0.2);\n$presszone-multilingual-badge-category-text-dark: #93c5fd;\n$presszone-multilingual-badge-section-bg-dark: rgba(34, 197, 94, 0.2);\n$presszone-multilingual-badge-section-text-dark: #86efac;\n$presszone-multilingual-badge-link-bg-dark: rgba(251, 191, 36, 0.2);\n$presszone-multilingual-badge-link-text-dark: #fde68a;\n$presszone-multilingual-badge-page-bg-dark: rgba(168, 85, 247, 0.2);\n$presszone-multilingual-badge-page-text-dark: #d8b4fe;\n\n// ==========================================================================\n// COLORS - OVERLAYS & SURFACES\n// ==========================================================================\n\n// Overlays (shared across modes)\n$presszone-multilingual-overlay: rgba(0, 0, 0, 0.7);\n$presszone-multilingual-overlay-light: rgba(15, 23, 42, 0.6);\n$presszone-multilingual-overlay-dark: rgba(0, 0, 0, 0.75);\n\n// Surface hover states (shared)\n$presszone-multilingual-surface-hover: rgba(255, 255, 255, 0.05);\n$presszone-multilingual-surface-hover-light: rgba(255, 255, 255, 0.03);\n$presszone-multilingual-surface-hover-bright: rgba(255, 255, 255, 0.08);\n$presszone-multilingual-surface-border: rgba(255, 255, 255, 0.1);\n$presszone-multilingual-surface-dim: rgba(0, 0, 0, 0.2);\n\n// ==========================================================================\n// BORDER RADIUS\n// ==========================================================================\n\n$presszone-multilingual-radius: 12px;\n$presszone-multilingual-radius-sm: 8px;\n$presszone-multilingual-radius-lg: 16px;\n$presszone-multilingual-radius-xl: 20px;\n$presszone-multilingual-radius-full: 9999px;\n\n// ==========================================================================\n// BORDER WIDTH\n// ==========================================================================\n\n$presszone-multilingual-border-width: 1px;\n$presszone-multilingual-border-width-lg: 2px;\n$presszone-multilingual-border-width-xl: 3px;\n\n// ==========================================================================\n// BUTTON PADDING\n// ==========================================================================\n\n$presszone-multilingual-btn-padding-sm: 6px 14px;\n$presszone-multilingual-btn-padding-md: 10px 20px;\n$presszone-multilingual-btn-padding-lg: 14px 28px;\n\n// ==========================================================================\n// SHADOWS\n// ==========================================================================\n\n// Light Mode\n$presszone-multilingual-shadow: 0 4px 6px -1px rgba(0, 0, 0, 0.05), 0 2px 4px -1px rgba(0, 0, 0, 0.03);\n$presszone-multilingual-shadow-sm: 0 1px 3px 0 rgba(0, 0, 0, 0.05);\n$presszone-multilingual-shadow-hover: 0 20px 25px -5px rgba(0, 0, 0, 0.1), 0 10px 10px -5px rgba(0, 0, 0, 0.04);\n$presszone-multilingual-shadow-modal: 0 25px 50px -12px rgba(0, 0, 0, 0.25), 0 12px 24px -8px rgba(0, 0, 0, 0.15), 0 4px 8px rgba(0, 0, 0, 0.1), 0 0 0 1px rgba(0, 0, 0, 0.05);\n\n// Dark Mode\n$presszone-multilingual-shadow-dark: 0 4px 20px rgba(0, 0, 0, 0.4);\n$presszone-multilingual-shadow-sm-dark: 0 2px 8px rgba(0, 0, 0, 0.3);\n$presszone-multilingual-shadow-hover-dark: 0 8px 30px rgba(0, 0, 0, 0.5);\n$presszone-multilingual-shadow-modal-dark: 0 25px 50px -12px rgba(0, 0, 0, 0.5), 0 12px 24px -8px rgba(0, 0, 0, 0.35), 0 4px 8px rgba(0, 0, 0, 0.25), 0 0 0 1px rgba(255, 255, 255, 0.05);\n\n// ==========================================================================\n// Z-INDEX SCALE\n// ==========================================================================\n\n$presszone-multilingual-z-base: 1;\n$presszone-multilingual-z-dropdown: 100;\n$presszone-multilingual-z-sticky: 1000;\n$presszone-multilingual-z-modal: 10000;\n$presszone-multilingual-z-tooltip: 10001;\n\n// ==========================================================================\n// BREAKPOINTS\n// ==========================================================================\n\n$presszone-multilingual-breakpoint-sm: 576px;\n$presszone-multilingual-breakpoint-md: 768px;\n$presszone-multilingual-breakpoint-lg: 992px;\n$presszone-multilingual-breakpoint-xl: 1200px;\n\n// ==========================================================================\n// ANIMATION TIMING\n// ==========================================================================\n\n// Durations\n$presszone-multilingual-duration-instant: 100ms;\n$presszone-multilingual-duration-fast: 150ms;\n$presszone-multilingual-duration-normal: 250ms;\n$presszone-multilingual-duration-slow: 350ms;\n$presszone-multilingual-duration-emphasis: 500ms;\n$presszone-multilingual-spinner-duration: 0.8s;\n$presszone-multilingual-stagger: 60ms;\n\n// Easing Functions\n$presszone-multilingual-ease-smooth: cubic-bezier(0.4, 0, 0.2, 1);\n$presszone-multilingual-ease-spring: cubic-bezier(0.34, 1.56, 0.64, 1);\n$presszone-multilingual-ease-out: cubic-bezier(0, 0, 0.2, 1);\n$presszone-multilingual-ease-in: cubic-bezier(0.4, 0, 1, 1);\n\n// Tab Slide Animation\n$presszone-multilingual-tab-slide-duration: 0.35s;\n$presszone-multilingual-tab-slide-easing: cubic-bezier(0.34, 1.56, 0.64, 1);\n\n// ==========================================================================\n// SPACING\n// ==========================================================================\n\n$presszone-multilingual-spacing-xs: 4px;\n$presszone-multilingual-spacing-sm: 8px;\n$presszone-multilingual-spacing-md: 16px;\n$presszone-multilingual-spacing-lg: 24px;\n$presszone-multilingual-spacing-xl: 32px;\n$presszone-multilingual-spacing-2xl: 48px;\n\n// ==========================================================================\n// LEGACY MPZ TOKENS (mpz-* page styles)\n// ==========================================================================\n// These variables existed in `main.scss` under the old `@import` global scope.\n// With the Sass module system (`@use`), each stylesheet is isolated, so legacy\n// partials that reference generic variables (e.g. `$text-secondary`) need a\n// shared source of truth.\n\n// Colors\n$primary-color: #0073aa !default;\n$primary-hover: #005a87 !default;\n$secondary-color: #2271b1 !default;\n$success-color: #00a32a !default;\n$warning-color: #f0b849 !default;\n$error-color: #d63638 !default;\n$info-color: #2271b1 !default;\n\n// Text & surfaces\n$text-primary: #1e1e1e !default;\n$text-secondary: #757575 !default;\n$text-light: #a7aaad !default;\n$border-color: #c3c4c7 !default;\n$background-light: #f0f0f1 !default;\n$background-white: #ffffff !default;\n\n// Dark mode (legacy)\n$dark-bg: #1e1e1e !default;\n$dark-surface: #2c2c2c !default;\n$dark-text: #e4e4e4 !default;\n$dark-border: #3c3c3c !default;\n\n// Spacing\n$spacing-xs: 4px !default;\n$spacing-sm: 8px !default;\n$spacing-md: 16px !default;\n$spacing-lg: 24px !default;\n$spacing-xl: 32px !default;\n\n// Radius\n$border-radius-sm: 2px !default;\n$border-radius-md: 4px !default;\n$border-radius-lg: 8px !default;\n\n// Motion\n$transition-fast: 0.15s ease !default;\n$transition-normal: 0.3s ease !default;\n$transition-slow: 0.45s ease !default;\n\n// Z-index\n$z-modal: 1000 !default;\n$z-dropdown: 900 !default;\n$z-fixed-header: 800 !default;\n$z-overlay: 700 !default;\n","// =============================================================================\n// Comments Press Zone - Admin SCSS Mixins\n// =============================================================================\n// Reusable mixins for dark mode, responsive design, accessibility, and RTL.\n// All mixins follow WordPress.org naming requirements (4+ char prefix).\n// =============================================================================\n\n// Variables are imported in main.scss to avoid conflicts\n\n@use 'sass:color';\n@use 'variables' as *;\n\n// -----------------------------------------------------------------------------\n// Legacy Sass Helpers\n// -----------------------------------------------------------------------------\n// Dart Sass is deprecating the global `lighten()` / `darken()` helpers.\n// Our codebase still uses them in legacy admin styles; define compatible\n// equivalents so we can upgrade incrementally without noisy build warnings.\n\n@function lighten($value, $amount) {\n    @return color.adjust($value, $lightness: $amount);\n}\n\n@function darken($value, $amount) {\n    @return color.adjust($value, $lightness: -$amount);\n}\n\n// -----------------------------------------------------------------------------\n// Dark Mode Mixins\n// -----------------------------------------------------------------------------\n\n/// Dark mode detection via system preference (prefers-color-scheme media query)\n/// @content Styles to apply when system dark mode is enabled\n/// @example\n///   .presszone-multilingual-card {\n///     background: #ffffff;\n///     @include dark-mode {\n///       background: #1e1f20;\n///     }\n///   }\n@mixin dark-mode {\n    @media (prefers-color-scheme: dark) {\n        @content;\n    }\n}\n\n/// Dark mode detection via class (for forced dark mode)\n/// @content Styles to apply when dark mode class is present\n/// @example\n///   .presszone-multilingual-card {\n///     background: #ffffff;\n///     @include dark-mode-class {\n///       background: #1e1f20;\n///     }\n///   }\n@mixin dark-mode-class {\n\n    html.presszone-multilingual-dark &,\n    body.presszone-multilingual-dark &,\n    .presszone-multilingual-dark & {\n        @content;\n    }\n}\n\n// -----------------------------------------------------------------------------\n// Responsive Design Mixins\n// -----------------------------------------------------------------------------\n\n/// Mobile-first responsive breakpoint mixin\n/// @param {String} $breakpoint - Breakpoint name (sm, md, lg)\n/// @content Styles to apply at specified breakpoint\n/// @example\n///   .presszone-multilingual-card {\n///     width: 100%;\n///     @include breakpoint(md) {\n///       width: 50%;\n///     }\n///   }\n@mixin breakpoint($breakpoint) {\n    @if $breakpoint =='sm' {\n        @media (min-width: $presszone-multilingual-breakpoint-sm) {\n            @content;\n        }\n    }\n\n    @else if $breakpoint =='md' {\n        @media (min-width: $presszone-multilingual-breakpoint-md) {\n            @content;\n        }\n    }\n\n    @else if $breakpoint =='lg' {\n        @media (min-width: $presszone-multilingual-breakpoint-lg) {\n            @content;\n        }\n    }\n}\n\n/// Responsive breakpoint mixin (alias for breakpoint)\n/// @param {String} $size - Breakpoint name (sm, md, lg)\n/// @content Styles to apply at specified breakpoint\n/// @example\n///   .presszone-multilingual-card {\n///     width: 100%;\n///     @include respond-to(md) {\n///       width: 50%;\n///     }\n///   }\n@mixin respond-to($size) {\n    @include breakpoint($size) {\n        @content;\n    }\n}\n\n// -----------------------------------------------------------------------------\n// Accessibility Mixins\n// -----------------------------------------------------------------------------\n\n/// Focus state mixin for keyboard accessibility\n/// @content Styles to apply on focus\n/// @example\n///   .presszone-multilingual-btn {\n///     @include focus-state {\n///       outline: 2px solid $presszone-multilingual-primary;\n///     }\n///   }\n@mixin focus-state {\n    &:focus-visible {\n        @content;\n    }\n}\n\n/// Reduced motion mixin for accessibility\n/// @content Styles to apply when user prefers reduced motion\n/// @example\n///   .presszone-multilingual-modal {\n///     @include reduced-motion {\n///       transition: none;\n///     }\n///   }\n@mixin reduced-motion {\n    @media (prefers-reduced-motion: reduce) {\n        @content;\n    }\n}\n\n// -----------------------------------------------------------------------------\n// RTL Support Mixins\n// -----------------------------------------------------------------------------\n\n/// RTL direction mixin\n/// @content Styles to apply in RTL context\n/// @example\n///   .presszone-multilingual-dialog {\n///     @include rtl {\n///       margin-inline-start: 0;\n///       margin-inline-end: 20px;\n///     }\n///   }\n@mixin rtl {\n\n    [dir=\"rtl\"] &,\n    :root[dir=\"rtl\"] & {\n        @content;\n    }\n}\n\n// -----------------------------------------------------------------------------\n// Utility Mixins\n// -----------------------------------------------------------------------------\n\n/// Box shadow mixin with configurable blur and spread\n/// @param {Number} $blur - Blur radius\n/// @param {Number} $spread - Spread radius\n/// @param {Color} $color - Shadow color\n/// @content Optional additional shadow properties\n/// @example\n///   .presszone-multilingual-card {\n///     @include box-shadow(4px, 12px, rgba(0, 0, 0, 0.1)) {\n///       inset: 0 1px 0 rgba(255, 255, 255, 0.1);\n///     }\n///   }\n@mixin box-shadow($blur, $spread, $color) {\n    box-shadow: 0 $presszone-multilingual-shadow-offset-y $blur $spread $color;\n    @content;\n}\n\n// -----------------------------------------------------------------------------\n// Theme Mixins\n// -----------------------------------------------------------------------------\n\n/// Theme context mixin\n/// @param {String} $theme - Theme name (light, dark, inherit)\n/// @content Styles to apply in specified theme context\n/// @example\n///   .presszone-multilingual-card {\n///     @include theme(light) {\n///       background: $presszone-multilingual-bg-primary;\n///     }\n///     @include theme(dark) {\n///       background: $presszone-multilingual-dark-bg-primary;\n///     }\n///   }\n@mixin theme($theme) {\n    @if $theme =='light' {\n\n        .light-mode &,\n        :root:not(.dark-mode):not(.inherit-mode) & {\n            @content;\n        }\n    }\n\n    @else if $theme =='dark' {\n\n        .dark-mode &,\n        :root.dark-mode:not(.inherit-mode) & {\n            @content;\n        }\n    }\n\n    @else if $theme =='inherit' {\n\n        .inherit-mode &,\n        :root.inherit-mode & {\n            @content;\n        }\n    }\n}\n\n// -----------------------------------------------------------------------------\n// Color Mixins\n// -----------------------------------------------------------------------------\n\n/// Primary color mixin\n/// @content Styles to apply with primary color\n/// @example\n///   .presszone-multilingual-btn {\n///     @include primary-color {\n///       color: $presszone-multilingual-primary;\n///     }\n///   }\n@mixin primary-color {\n    color: $presszone-multilingual-primary;\n    @content;\n}\n\n/// Accent color mixin\n/// @content Styles to apply with accent color\n/// @example\n///   .presszone-multilingual-badge {\n///     @include accent-color {\n///       background: $presszone-multilingual-accent;\n///     }\n///   }\n@mixin accent-color {\n    color: $presszone-multilingual-accent;\n    @content;\n}\n\n// -----------------------------------------------------------------------------\n// Spacing Mixins\n// -----------------------------------------------------------------------------\n\n/// Margin spacing mixin\n/// @param {String} $spacing - Spacing variable name\n/// @example\n///   .presszone-multilingual-card {\n///     @include margin-spacing(sm);\n///   }\n@mixin margin-spacing($spacing) {\n    margin: var(--presszone-multilingual-#{$spacing}-spacing);\n}\n\n/// Padding spacing mixin\n/// @param {String} $spacing - Spacing variable name\n/// @example\n///   .presszone-multilingual-card {\n///     @include padding-spacing(md);\n///   }\n@mixin padding-spacing($spacing) {\n    padding: var(--presszone-multilingual-#{$spacing}-spacing);\n}\n\n// -----------------------------------------------------------------------------\n// Typography Mixins\n// -----------------------------------------------------------------------------\n\n/// Font size mixin\n/// @param {String} $size - Font size variable name\n/// @example\n///   .presszone-multilingual-title {\n///     @include font-size(lg);\n///   }\n@mixin font-size($size) {\n    font-size: var(--presszone-multilingual-#{$size}-font-size);\n}\n\n/// Line height mixin\n/// @param {String} $size - Line height variable name\n/// @example\n///   .presszone-multilingual-text {\n///     @include line-height(base);\n///   }\n@mixin line-height($size) {\n    line-height: var(--presszone-multilingual-#{$size}-line-height);\n}\n\n// -----------------------------------------------------------------------------\n// Border Mixins\n// -----------------------------------------------------------------------------\n\n/// Border width mixin\n/// @param {String} $width - Border width variable name\n/// @example\n///   .presszone-multilingual-card {\n///     @include border-width(lg);\n///   }\n@mixin border-width($width) {\n    border-width: var(--presszone-multilingual-#{$width}-border-width);\n}\n\n// -----------------------------------------------------------------------------\n// Animation Mixins\n// -----------------------------------------------------------------------------\n\n/// Animation duration mixin\n/// @param {String} $duration - Duration variable name\n/// @example\n///   .presszone-multilingual-modal {\n///     @include animation-duration(normal);\n///   }\n@mixin animation-duration($duration) {\n    transition-duration: var(--presszone-multilingual-#{$duration}-duration);\n}\n"],"names":[],"sourceRoot":""}