/* Recovery composition: v0.4.2 baseline + v0.4.3 surgical fixes + v0.4.4 features + v0.4.5 recovery */
/* RuangJanji dashboard v3 Blade conversion */
.rj-sidebar-brand-actions{margin-left:auto;display:flex;align-items:center;gap:4px}.rj-sidebar-collapse,.rj-sidebar-close{width:36px;height:36px;place-items:center;border:0;border-radius:7px;background:transparent;color:#6b776f;cursor:pointer}.rj-sidebar-collapse{display:grid}.rj-sidebar-close{display:none}.rj-signout-form{margin-top:10px}.rj-signout{width:100%;min-height:42px;display:flex;align-items:center;gap:10px;padding:0 12px;border:0;border-radius:8px;background:transparent;color:#8a4c46;text-decoration:none;font-size:.82rem;font-weight:700;cursor:pointer}.rj-signout:hover{background:#fff0ed}.rj-sidebar-help{margin-top:auto}.rj-sidebar-help a{min-height:32px;display:inline-flex;align-items:center;margin-top:8px;padding:0 10px;border:1px solid #dce2dd;border-radius:6px;background:#fff;color:#4c6255;text-decoration:none;font-size:.69rem;font-weight:750}.rj-top-avatar{text-decoration:none}.rj-notification{text-decoration:none}
.rj-task-list>a{min-height:66px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:8px;border-bottom:1px solid #edf0ed;color:var(--rj-ink);text-decoration:none}.rj-task-list>a:last-child{border-bottom:0}.rj-task-list>a>span{width:37px;height:37px;display:grid;place-items:center;border-radius:8px}.rj-task-list>a>span.orange{background:#f7e9de;color:#b95e3d}.rj-task-list>a>span.purple{background:#eee7f3;color:#755b87}.rj-task-list>a>span.blue{background:#e4edf3;color:#47718a}.rj-task-list>a>span.green{background:#e3eee7;color:#397052}.rj-task-list>a>svg:last-child{width:17px;color:#849087}.rj-task-list>a:hover{background:#fafcfb}.rj-task-list>a div{min-width:0;display:grid;gap:3px}.rj-task-list>a strong{font-size:.8rem}.rj-task-list>a small{color:#7d8981;font-size:.7rem}
.rj-checklist>a{min-height:65px;display:grid;grid-template-columns:auto 1fr auto;align-items:center;gap:12px;padding:7px;border-bottom:1px solid #e8ece9;color:#405248;text-decoration:none}.rj-checklist>a:last-child{border-bottom:0}.rj-checklist>a>span{width:31px;height:31px;display:grid;place-items:center;border:1px solid #ccd6ce;border-radius:8px;color:#6f7e75;font-size:.7rem}.rj-checklist>a.done>span{border-color:#c4dccc;background:#e5f1e8;color:#3f8055}.rj-checklist>a>svg:last-child{width:17px;color:#7b887f}.rj-checklist>a:hover{background:#fafcfb}
.rj-customer-hero-placeholder{display:grid!important;place-items:center!important;padding:0!important;background:linear-gradient(135deg,#315b45,#1f3b2d);color:#f5e6c4}.rj-empty-panel{padding:48px 28px!important;text-align:center}.rj-empty-panel>svg{margin:auto;color:#4e7a61}.rj-empty-panel h2{margin:14px 0 7px;font-family:var(--rj-serif);font-size:1.7rem;font-weight:500}.rj-empty-panel p{margin:0;color:#748078}
.rj-card-settings,.rj-plan-settings{border-top:1px solid #e8ece9}.rj-card-settings>summary,.rj-plan-settings>summary{list-style:none;display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 16px;color:#58685f;font-size:.72rem;font-weight:800;cursor:pointer}.rj-card-settings>summary::-webkit-details-marker,.rj-plan-settings>summary::-webkit-details-marker{display:none}.rj-card-settings[open]>summary,.rj-plan-settings[open]>summary{background:#f7f9f7}.rj-card-settings .rj-form-grid,.rj-plan-settings .rj-form-grid{padding:16px;border-top:1px solid #edf0ed}.rj-card-settings input,.rj-card-settings textarea,.rj-card-settings select,.rj-plan-settings input,.rj-plan-settings select{width:100%;min-height:42px;padding:0 10px;border:1px solid #d8dfd9;border-radius:7px;background:#fff;color:#253b30;outline:0}.rj-card-settings textarea{min-height:80px;padding:10px;resize:vertical}.rj-publish-form{padding:0 16px 16px}.rj-publish-form .rj-primary-btn{width:100%}.rj-theme-empty{height:100%;display:grid;place-items:center;color:#6d7e74;background:#e8eee9}.rj-new-template-panel,.rj-create-panel{margin-top:20px}.rj-new-template-panel .rj-form-grid,.rj-create-panel .rj-form-grid{padding:20px}.rj-form-grid-3{grid-template-columns:repeat(3,minmax(0,1fr))}.rj-plan-editor-grid{margin-top:20px}.rj-plan-template-list{display:grid;padding:8px 18px 18px}.rj-plan-template-list details{border-bottom:1px solid #e8ece9}.rj-plan-template-list details:last-child{border-bottom:0}.rj-plan-template-list summary{min-height:52px;list-style:none;display:grid;grid-template-columns:1fr auto auto;align-items:center;gap:10px;cursor:pointer}.rj-plan-template-list summary::-webkit-details-marker{display:none}.rj-plan-template-list summary span{color:#839087;font-size:.7rem}.rj-plan-template-list form{display:grid;gap:9px;padding:0 0 16px}.rj-plan-template-row{display:grid;grid-template-columns:minmax(0,1fr) 150px;align-items:center;gap:12px;padding:8px;border:1px solid #e5e9e6;border-radius:7px;background:#fafbfa}.rj-plan-template-row>input{min-height:38px;padding:0 9px;border:1px solid #d8dfd9;border-radius:6px}.rj-switch-field{display:flex!important;align-items:center;gap:9px!important}.rj-switch-field input[type=checkbox]{width:17px;height:17px;accent-color:var(--rj-green)}.rj-inline-action{display:flex;align-items:center;gap:7px}.rj-inline-action select{min-height:34px;padding:0 28px 0 9px;border:1px solid #d9e0da;border-radius:6px;background:#fff;color:#46584e;font-size:.72rem}.rj-laravel-pagination{padding:14px 18px}.rj-connection-summary{display:grid;padding:10px 20px 20px}.rj-connection-summary>div{min-height:58px;display:flex;align-items:center;justify-content:space-between;gap:18px;border-bottom:1px solid #e8ece9}.rj-connection-summary>div:last-child{border-bottom:0}.rj-connection-summary span{color:#849087;font-size:.72rem}.rj-connection-summary strong{max-width:65%;overflow:hidden;color:#405248;font-size:.79rem;text-overflow:ellipsis;white-space:nowrap}.rj-gateway-bar i.off{background:#b8beba;box-shadow:0 0 0 4px rgba(130,140,134,.1)}.rj-asset-library-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:15px}.rj-asset-library-card{display:grid;grid-template-rows:160px auto}.rj-asset-library-preview{display:grid;place-items:center;overflow:hidden;border-bottom:1px solid #e6eae7;background:#f2f5f2;color:#718078}.rj-asset-library-preview img{width:100%;height:100%;object-fit:contain}.rj-asset-library-body{display:grid;gap:9px;padding:15px}.rj-asset-library-body strong{font-size:.82rem}.rj-asset-library-body small{overflow:hidden;color:#849087;font-size:.69rem;text-overflow:ellipsis;white-space:nowrap}.rj-upload-button{position:relative;min-height:36px;display:grid;place-items:center;overflow:hidden;border:1px solid #d8e0da;border-radius:6px;background:#fff;color:#315b45;font-size:.71rem;font-weight:800;cursor:pointer}.rj-upload-button input{position:absolute;inset:0;opacity:0;cursor:pointer}.rj-link-danger{width:fit-content;padding:0;border:0;background:transparent;color:#a44f48;font-size:.69rem;font-weight:700;cursor:pointer}
.rj-sidebar-collapsed .rj-sidebar{width:82px;padding-inline:12px}.rj-sidebar-collapsed .rj-app-main{margin-left:82px}.rj-sidebar-collapsed .rj-sidebar-brand{padding-inline:3px}.rj-sidebar-collapsed .rj-brand-link strong,.rj-sidebar-collapsed .rj-workspace>div,.rj-sidebar-collapsed .rj-workspace>svg,.rj-sidebar-collapsed .rj-nav a span,.rj-sidebar-collapsed .rj-sidebar-help,.rj-sidebar-collapsed .rj-signout span{display:none}.rj-sidebar-collapsed .rj-workspace{grid-template-columns:1fr;place-items:center;padding:9px 0}.rj-sidebar-collapsed .rj-nav a{grid-template-columns:1fr;place-items:center;padding:0}.rj-sidebar-collapsed .rj-signout{justify-content:center;padding:0}.rj-sidebar-collapsed .rj-sidebar-collapse svg{transform:rotate(180deg)}
@media(max-width:1180px){.rj-template-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rj-asset-library-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.rj-form-grid-3{grid-template-columns:repeat(2,minmax(0,1fr))}}
@media(max-width:1024px){.rj-sidebar-collapse{display:none}.rj-sidebar-close{display:grid}.rj-sidebar-collapsed .rj-sidebar{width:278px;padding:20px 16px}.rj-sidebar-collapsed .rj-app-main{margin-left:0}.rj-sidebar-collapsed .rj-brand-link strong,.rj-sidebar-collapsed .rj-workspace>div,.rj-sidebar-collapsed .rj-workspace>svg,.rj-sidebar-collapsed .rj-nav a span,.rj-sidebar-collapsed .rj-signout span{display:initial}.rj-sidebar-collapsed .rj-workspace{grid-template-columns:auto minmax(0,1fr) auto;place-items:initial;padding:10px}.rj-sidebar-collapsed .rj-nav a{grid-template-columns:21px 1fr;place-items:initial;padding:0 12px}.rj-sidebar-collapsed .rj-signout{justify-content:flex-start;padding:0 12px}}
@media(max-width:780px){.rj-template-grid,.rj-asset-library-grid,.rj-form-grid-3{grid-template-columns:1fr}.rj-plan-template-row{grid-template-columns:1fr}.rj-inline-action{align-items:stretch;flex-direction:column}.rj-inline-action>*{width:100%}.rj-section-head>a.rj-primary-btn,.rj-section-head>form,.rj-section-head>form button{width:100%}.rj-connection-summary>div{align-items:flex-start;flex-direction:column;gap:4px;padding:11px 0}.rj-connection-summary strong{max-width:100%}}
@media(max-width:520px){.rj-template-card>div{align-items:flex-start;flex-direction:column}.rj-template-card .rj-soft-btn{width:100%}.rj-card-settings .rj-form-grid,.rj-plan-settings .rj-form-grid,.rj-new-template-panel .rj-form-grid,.rj-create-panel .rj-form-grid{grid-template-columns:1fr;padding:14px}.rj-customer-hero{grid-template-columns:1fr}.rj-customer-hero>img,.rj-customer-hero-placeholder{min-height:170px}.rj-global-search{display:none}}

/* RuangJanji v0.4.3 surgical UI hotfix */
.rj-sidebar-collapsed .rj-sidebar{width:88px;padding-inline:10px}
.rj-sidebar-collapsed .rj-app-main{margin-left:88px}
.rj-sidebar-collapsed .rj-sidebar-brand{display:flex;justify-content:center;gap:4px;padding:2px 0 17px}
.rj-sidebar-collapsed .rj-brand-link{width:32px;flex:0 0 32px;justify-content:center;gap:0}
.rj-sidebar-collapsed .rj-brand-mark,.rj-sidebar-collapsed .rj-brand-image{width:32px;height:32px;flex:0 0 32px;border-width:1px;border-radius:8px;box-shadow:2px 2px 0 rgba(35,56,46,.12)}
.rj-sidebar-collapsed .rj-brand-link strong{display:none}
.rj-sidebar-collapsed .rj-sidebar-brand-actions{margin-left:0}
.rj-sidebar-collapsed .rj-sidebar-collapse{width:30px;height:30px}
.rj-sidebar-collapsed .rj-workspace>div,.rj-sidebar-collapsed .rj-workspace>svg,.rj-sidebar-collapsed .rj-nav a span,.rj-sidebar-collapsed .rj-signout span{display:none}
.rj-sidebar-collapsed .rj-workspace{grid-template-columns:1fr;place-items:center;padding:9px 0}
.rj-sidebar-collapsed .rj-nav a{grid-template-columns:1fr;place-items:center;padding:0}
.rj-sidebar-collapsed .rj-signout{justify-content:center;padding:0}
.rj-sidebar-collapsed .rj-sidebar-collapse svg{transform:rotate(180deg)}
.rj-sidebar-help{display:grid;gap:10px}
.rj-sidebar-help-copy{display:grid;grid-template-columns:auto 1fr;align-items:start;gap:10px}
.rj-sidebar-help-copy>svg{color:var(--rj-orange)}
.rj-sidebar-help-copy>div{display:grid;gap:2px;min-width:0}
.rj-sidebar-help>a{display:flex!important;align-items:center;justify-content:center;gap:7px;margin-top:0!important}
.rj-sidebar-collapsed .rj-sidebar-help{display:flex;margin-top:auto;padding:0;border:0;background:transparent;justify-content:center}
.rj-sidebar-collapsed .rj-sidebar-help-copy{display:none}
.rj-sidebar-collapsed .rj-sidebar-help>a{width:38px;height:38px;min-height:38px;margin:0;padding:0;border-radius:9px}
.rj-sidebar-collapsed .rj-sidebar-help>a span{display:none}
.rj-row-actions{display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rj-row-actions>a.rj-table-action{display:inline-flex;align-items:center;justify-content:center;min-height:34px;text-decoration:none;white-space:nowrap}
.rj-password-wrap{position:relative;display:block;width:100%}
.rj-password-wrap>input[type=password],.rj-password-wrap>input[type=text]{width:100%;padding-right:44px!important}
.rj-password-eye{position:absolute;z-index:3;right:7px;top:50%;width:34px;height:34px;display:grid;place-items:center;transform:translateY(-50%);padding:0;border:0;border-radius:7px;background:transparent;color:#66776d;cursor:pointer}
.rj-password-eye:hover{background:#eef2ef;color:#315b45}
.rj-password-eye svg{width:18px;height:18px;display:block}
.rj-input-shell>.rj-password-eye{right:8px}
.rj-input-shell .rj-password-wrap{display:contents}
.rj-input-shell .rj-password-wrap>input{padding-right:48px!important}
@media(max-width:1024px){
 .rj-sidebar-collapsed .rj-sidebar{width:278px;padding:20px 16px}.rj-sidebar-collapsed .rj-app-main{margin-left:0}
 .rj-sidebar-collapsed .rj-sidebar-brand{justify-content:initial;gap:11px;padding:2px 8px 19px}
 .rj-sidebar-collapsed .rj-brand-link{width:auto;flex:1 1 auto;justify-content:flex-start;gap:11px}
 .rj-sidebar-collapsed .rj-brand-mark,.rj-sidebar-collapsed .rj-brand-image{width:40px;height:40px;flex:0 0 40px;border-width:2px}
 .rj-sidebar-collapsed .rj-brand-link strong,.rj-sidebar-collapsed .rj-workspace>div,.rj-sidebar-collapsed .rj-workspace>svg,.rj-sidebar-collapsed .rj-nav a span,.rj-sidebar-collapsed .rj-signout span{display:initial}
 .rj-sidebar-collapsed .rj-sidebar-brand-actions{margin-left:auto}.rj-sidebar-collapsed .rj-sidebar-help{display:grid;padding:14px;border:1px solid #e3d8c5;background:#faf5ea}.rj-sidebar-collapsed .rj-sidebar-help-copy{display:grid}.rj-sidebar-collapsed .rj-sidebar-help>a{width:auto;height:auto;min-height:32px;padding:0 10px}.rj-sidebar-collapsed .rj-sidebar-help>a span{display:inline}
}
@media(max-width:780px){.rj-row-actions{align-items:stretch;flex-direction:column}.rj-row-actions>*{width:100%}.rj-sidebar-help{margin-top:20px}.rj-sidebar-help-copy{grid-template-columns:auto minmax(0,1fr)}}

.publish-key-field .rj-password-wrap{display:block;min-width:92px}.publish-key-field .rj-password-eye{right:0;width:28px;height:28px;color:#9ca9a0}.publish-key-field .rj-password-wrap>input{padding-right:30px!important}

/* RuangJanji v0.4.4 dashboard/catalog/search extension */
.rj-brand-image img{width:100%;height:100%;object-fit:contain;display:block}
.rj-sidebar-collapsed .rj-brand-image img{object-fit:contain}
.rj-sidebar-collapsed .rj-sidebar-help>a{box-shadow:0 4px 12px rgba(40,62,50,.06)}

.rj-catalog-toolbar{display:grid;grid-template-columns:minmax(260px,1fr) minmax(190px,240px) auto;align-items:center;gap:12px;margin-bottom:18px}
.rj-catalog-search{min-height:44px;display:grid;grid-template-columns:auto 1fr;align-items:center;gap:9px;padding:0 13px;border:1px solid #dce2dd;border-radius:8px;background:#fff}
.rj-catalog-search:focus-within{border-color:#71917d;box-shadow:0 0 0 3px rgba(74,117,91,.09)}
.rj-catalog-search svg{color:#849087}.rj-catalog-search input{min-width:0;border:0;outline:0;background:transparent;color:var(--rj-ink);font-size:.82rem}
.rj-catalog-toolbar>span{justify-self:end;color:#7d8981;font-size:.72rem}
.rj-template-card{display:flex;flex-direction:column}
.rj-template-card-body{min-height:112px!important;align-items:flex-start!important}
.rj-template-card-body>div{min-width:0}.rj-template-card-body p{display:-webkit-box;overflow:hidden;margin:6px 0 0;color:#78857d;font-size:.69rem;line-height:1.45;-webkit-box-orient:vertical;-webkit-line-clamp:2}
.rj-template-plan-row{min-height:auto!important;display:flex!important;justify-content:flex-start!important;flex-wrap:wrap;gap:6px!important;padding:0 16px 13px!important}
.rj-template-plan-row span{padding:4px 7px;border-radius:999px;background:#f1f5f2;color:#607168;font-size:.62rem;font-weight:750}
.rj-template-actions{min-height:auto!important;display:grid!important;grid-template-columns:1fr 1fr;gap:8px!important;margin-top:auto;padding:13px 16px 16px!important;border-top:1px solid #edf0ee}
.rj-template-actions .rj-primary-btn,.rj-template-actions .rj-soft-btn{width:100%;min-height:38px;justify-content:center}
.rj-catalog-empty{min-height:220px;display:grid;place-items:center;align-content:center;gap:8px;padding:30px;border:1px dashed #cdd8d0;border-radius:11px;background:#fbfcfb;color:#77857d;text-align:center}
.rj-catalog-empty strong{color:#31463b;font-family:var(--rj-serif);font-size:1.2rem}.rj-catalog-empty span{font-size:.76rem}

.rj-dialog{width:min(650px,calc(100vw - 28px));max-height:calc(100svh - 28px);overflow:auto;padding:0;border:0;border-radius:13px;background:transparent;box-shadow:0 30px 100px rgba(19,37,27,.28)}
.rj-dialog::backdrop{background:rgba(13,28,20,.58);backdrop-filter:blur(3px)}
.rj-dialog-card{width:100%;overflow:hidden;border:1px solid #dce2dd;border-radius:13px;background:#fff;color:var(--rj-ink)}.rj-dialog-card.wide{width:min(780px,calc(100vw - 28px))}
.rj-dialog-head{display:flex;align-items:flex-start;justify-content:space-between;gap:20px;padding:22px 24px;border-bottom:1px solid #e5e9e6}.rj-dialog-head>div{display:grid;gap:4px}.rj-dialog-head span{color:#829087;font-family:var(--rj-mono);font-size:.65rem;font-weight:800;letter-spacing:.08em}.rj-dialog-head h3{margin:0;font-family:var(--rj-serif);font-size:1.45rem;font-weight:500}.rj-dialog-head p{margin:0;color:#7b8880;font-size:.74rem}.rj-dialog-head>button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #dce2dd;border-radius:8px;background:#fff;color:#67776e;cursor:pointer}.rj-dialog-head>button svg{width:17px}
.rj-dialog-body{display:grid;gap:15px;padding:22px 24px}.rj-dialog-body label{display:grid;gap:7px;color:#4d5e55;font-size:.76rem;font-weight:750}.rj-dialog-body input,.rj-dialog-body select,.rj-dialog-body textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid #d8dfda;border-radius:7px;background:#fff;color:#30453a}.rj-dialog-note{margin:0;padding:12px 13px;border-radius:8px;background:#f6f8f6;color:#6e7c74;font-size:.73rem;line-height:1.55}
.rj-dialog-actions{display:flex;justify-content:flex-end;gap:9px;padding:18px 24px;border-top:1px solid #e8ece9}
.rj-template-dialog .rj-form-grid{padding:22px 24px}.rj-template-dialog .rj-publish-form{padding:0 24px 22px}

.rj-share-panel{margin-bottom:18px}.rj-share-link-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;padding:18px}
.rj-share-link-card{display:grid;grid-template-columns:auto minmax(0,1fr);gap:13px;padding:16px;border:1px solid #e0e5e1;border-radius:10px;background:#fbfcfb}.rj-share-link-icon{width:42px;height:42px;display:grid;place-items:center;border-radius:9px;background:#e5eee8;color:#3b7353}.rj-share-link-icon.classic{background:#f2e9dd;color:#996644}.rj-share-link-card>div:last-child{min-width:0;display:grid;gap:4px}.rj-share-link-card strong{font-size:.8rem}.rj-share-link-card small{color:#7d8a82;font-size:.68rem}.rj-copy-row{display:grid;grid-template-columns:minmax(0,1fr) auto auto;gap:6px;margin-top:8px}.rj-copy-row input{min-width:0;height:38px;padding:0 9px;border:1px solid #dce2dd;border-radius:7px;background:#f7f9f7;color:#66766d;font-size:.68rem}.rj-copy-row button,.rj-copy-row a{min-height:38px;display:inline-flex;align-items:center;justify-content:center;gap:5px;padding:0 10px;border:1px solid #d7dfd9;border-radius:7px;background:#fff;color:var(--rj-green);font-size:.68rem;font-weight:750;text-decoration:none;cursor:pointer}

.rj-url-stack{display:grid;gap:7px;min-width:250px}.rj-url-row{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:6px}.rj-url-row input{min-width:0;height:36px;padding:0 8px;border:1px solid #dce2dd;border-radius:6px;background:#f8faf8;color:#66766e;font-size:.66rem}.rj-url-row button{width:36px;height:36px;display:grid;place-items:center;border:1px solid #d6ded8;border-radius:6px;background:#fff;color:var(--rj-green);cursor:pointer}

.rj-mini-toast{position:fixed;z-index:9999;right:18px;top:18px;max-width:min(360px,calc(100vw - 36px));display:flex;align-items:center;gap:9px;padding:12px 14px;border-radius:9px;background:#244637;color:#fff;box-shadow:0 18px 48px rgba(20,43,31,.2);font-size:.76rem;font-weight:750;opacity:0;transform:translateY(-8px);pointer-events:none;transition:.2s ease}.rj-mini-toast.show{opacity:1;transform:none}

/* Searchable select fallback; Tom Select remains preferred when Vite bundle is current. */
.rj-select2{position:relative;min-width:0}.rj-select2>select{position:absolute!important;width:1px!important;height:1px!important;opacity:0!important;pointer-events:none!important}.rj-select2-control{width:100%;min-height:42px;display:grid;grid-template-columns:minmax(0,1fr) auto;align-items:center;gap:9px;padding:0 11px;border:1px solid #d9e0da;border-radius:8px;background:#fff;color:#394f43;cursor:pointer;text-align:left;font-size:.78rem}.rj-select2-control span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.rj-select2-control svg{width:16px;color:#829087}.rj-select2.open .rj-select2-control{border-color:#71917d;box-shadow:0 0 0 3px rgba(74,117,91,.09)}
.rj-select2-menu{position:absolute;z-index:120;left:0;right:0;top:calc(100% + 5px);display:none;overflow:hidden;border:1px solid #d9e0da;border-radius:9px;background:#fff;box-shadow:0 18px 45px rgba(31,54,41,.15)}.rj-select2.open .rj-select2-menu{display:block}.rj-select2-search{padding:8px;border-bottom:1px solid #edf0ee}.rj-select2-search input{width:100%;height:37px;padding:0 10px;border:1px solid #dce2dd;border-radius:6px;outline:0;font-size:.76rem}.rj-select2-options{max-height:230px;overflow:auto;padding:5px}.rj-select2-option{width:100%;min-height:36px;display:flex;align-items:center;padding:0 9px;border:0;border-radius:6px;background:transparent;color:#475b50;cursor:pointer;text-align:left;font-size:.75rem}.rj-select2-option:hover,.rj-select2-option.selected{background:#edf4ef;color:#315b45}.rj-select2-empty{padding:12px;color:#859189;font-size:.72rem;text-align:center}
.rj-compact-select+.rj-select2,.rj-inline-action .rj-select2{min-width:130px}

/* DataTables-compatible fallback controls */
.rj-fallback-dt{border-bottom:1px solid #e7ebe8}.rj-fallback-dt .rj-table-tools{border-top:0}.rj-table-size{display:flex;align-items:center;gap:7px;color:#7c8981;font-size:.7rem}.rj-table-size select{height:36px;padding:0 25px 0 9px;border:1px solid #dce2dd;border-radius:6px;background:#fff;color:#55665c}.rj-fallback-pagination{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:13px 18px;color:#7c8981;font-size:.7rem}.rj-fallback-pagination>div{display:flex;gap:6px}.rj-fallback-pagination button{min-width:34px;height:34px;padding:0 8px;border:1px solid #dce2dd;border-radius:6px;background:#fff;color:#53645a;cursor:pointer}.rj-fallback-pagination button:disabled{opacity:.4;cursor:not-allowed}

/* Google map inside interactive event overlay */
.runtime-map-card{grid-column:1/-1;overflow:hidden;margin-top:10px;border:3px solid #a47747;background:#e8d7ad;box-shadow:4px 4px 0 rgba(108,69,37,.17)}.runtime-map-card iframe{display:block;width:100%;height:260px;border:0}.runtime-map-copy{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:10px 12px;color:#684832;font-size:.68rem}.runtime-map-copy a{min-height:34px!important}

@media(max-width:900px){.rj-catalog-toolbar{grid-template-columns:1fr 210px}.rj-catalog-toolbar>span{grid-column:1/-1;justify-self:start}.rj-share-link-grid{grid-template-columns:1fr}}
@media(max-width:640px){.rj-catalog-toolbar{grid-template-columns:1fr}.rj-catalog-toolbar>span{grid-column:auto}.rj-template-actions{grid-template-columns:1fr}.rj-copy-row{grid-template-columns:1fr auto}.rj-copy-row a{grid-column:1/-1}.rj-dialog{width:calc(100vw - 16px);max-height:calc(100svh - 16px)}.rj-dialog-head,.rj-dialog-body,.rj-dialog-actions{padding-left:16px;padding-right:16px}.rj-dialog-actions{flex-direction:column-reverse}.rj-dialog-actions>*{width:100%}.rj-share-link-grid{padding:13px}.rj-share-link-card{grid-template-columns:1fr}.rj-share-link-icon{width:38px;height:38px}.rj-fallback-pagination{align-items:flex-start;flex-direction:column}.runtime-map-card iframe{height:220px}}
.rj-template-plan-row{align-items:center;justify-content:space-between!important}.rj-template-plan-row>div{display:flex;flex-wrap:wrap;gap:6px;min-width:0}.rj-template-plan-row>strong{margin-left:auto;color:#17352c;font-size:.72rem;white-space:nowrap}
@media(max-width:520px){.rj-template-plan-row{align-items:flex-start!important;flex-direction:column}.rj-template-plan-row>strong{margin-left:0}}



/* RuangJanji v0.4.5 recovery layer */
/* Login eye stays inside the native input shell. Generic password fields keep absolute eye positioning. */
.rj-input-shell{position:relative}
.rj-input-shell>.rj-password-eye,
.rj-input-shell>.rj-password-wrap>.rj-password-eye{
  position:static!important;right:auto!important;top:auto!important;transform:none!important;
  width:36px;height:36px;align-self:center;justify-self:end;flex:0 0 36px;
}
.rj-input-shell>.rj-password-wrap{display:contents!important}
.rj-input-shell input{min-width:0;width:100%;padding-right:0!important}

/* Restore reference dashboard cards/links that were lost when the v0.4.4 overlay replaced v0.4.2 rules. */
.rj-task-list>a{min-height:66px;display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:12px;padding:8px;border-bottom:1px solid #edf0ed;color:var(--rj-ink);text-decoration:none}
.rj-task-list>a:last-child{border-bottom:0}.rj-task-list>a:hover{background:#fafcfb}
.rj-task-list>a>span{width:37px;height:37px;display:grid;place-items:center;border-radius:8px}.rj-task-list>a>span.orange{background:#f7e9de;color:#b95e3d}.rj-task-list>a>span.purple{background:#eee7f3;color:#755b87}.rj-task-list>a>span.blue{background:#e4edf3;color:#47718a}.rj-task-list>a>span.green{background:#e3eee7;color:#397052}.rj-task-list>a>svg:last-child{width:17px;color:#849087}.rj-task-list>a div{min-width:0;display:grid;gap:3px}.rj-task-list>a strong{font-size:.8rem}.rj-task-list>a small{color:#7d8981;font-size:.7rem}

/* Customer/action tables: keep action controls compact and avoid exploding table width. */
.rj-data-table th:last-child,.rj-data-table td:last-child{min-width:190px}
.rj-row-actions{min-width:0;display:flex;align-items:center;gap:7px;flex-wrap:wrap}
.rj-row-actions .rj-inline-action{display:flex;align-items:center;gap:7px;flex-wrap:nowrap;min-width:0}
.rj-row-actions .rj-inline-action .rj-select2{min-width:124px;max-width:164px}
.rj-row-actions .rj-table-action{min-height:34px;display:inline-flex;align-items:center;justify-content:center;padding:0 10px;border:1px solid #d8dfd9;border-radius:6px;background:#fff;color:#3f5b4c;font-size:.7rem;font-weight:750;white-space:nowrap;cursor:pointer;text-decoration:none}
.rj-row-actions .rj-table-action:hover{background:#f2f6f3;border-color:#c9d5cd}

/* Remove legacy fake search rows added by old fallback build. */
.rj-select-fallback{display:block!important}.rj-select-fallback>input[type="search"]{display:none!important}
.rj-table-fallback-tools{display:none!important}

/* Dialog recovery: no zoom, no width overflow, and forms look like normal RuangJanji panels. */
.rj-dialog{position:fixed;inset:0;margin:auto;width:min(680px,calc(100vw - 28px));max-width:calc(100vw - 28px);max-height:calc(100dvh - 28px);padding:0;overflow:auto;border:0;border-radius:14px;background:transparent;box-shadow:none;transform:none!important;animation:none!important;zoom:1!important}
.rj-dialog.rj-template-dialog{width:min(820px,calc(100vw - 28px))}
.rj-dialog[open]{display:block}
.rj-dialog::backdrop{background:rgba(13,28,20,.58);backdrop-filter:blur(3px)}
.rj-dialog-card,.rj-dialog-card.wide{width:100%!important;max-width:100%;margin:0;border:1px solid #dce2dd;border-radius:13px;background:#fff;box-shadow:0 30px 90px rgba(19,37,27,.22);overflow:visible}
.rj-template-dialog .rj-form-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:16px;padding:22px 24px}
.rj-template-dialog .rj-form-grid label,.rj-dialog-body label{display:grid;gap:7px;color:#4d5e55;font-size:.76rem;font-weight:750}
.rj-template-dialog .rj-form-grid input:not([type=checkbox]),.rj-template-dialog .rj-form-grid select,.rj-template-dialog .rj-form-grid textarea,.rj-dialog-body input:not([type=checkbox]),.rj-dialog-body select,.rj-dialog-body textarea{width:100%;min-height:44px;padding:9px 11px;border:1px solid #d8dfda;border-radius:7px;background:#fff;color:#30453a;outline:0}
.rj-template-dialog .rj-form-grid textarea,.rj-dialog-body textarea{min-height:92px;resize:vertical}
.rj-template-dialog .rj-form-grid input:focus,.rj-template-dialog .rj-form-grid select:focus,.rj-template-dialog .rj-form-grid textarea:focus,.rj-dialog-body input:focus,.rj-dialog-body select:focus,.rj-dialog-body textarea:focus{border-color:#6e917b;box-shadow:0 0 0 3px rgba(74,117,91,.09)}
.rj-template-dialog .rj-dialog-actions{grid-column:1/-1;margin:3px -24px -22px;padding:18px 24px;background:#fbfcfb}
.rj-dialog-head{position:sticky;z-index:2;top:0;background:#fff}

/* Restore card spacing for account and package pages. */
.rj-settings-grid>.rj-panel,.rj-plan-grid>.rj-plan-card{min-width:0}
.rj-settings-grid .rj-form-grid{padding:22px}.rj-settings-grid .rj-password-wrap{display:block}
.rj-plan-grid{margin-bottom:20px}.rj-plan-card{display:flex;min-height:320px;flex-direction:column}.rj-plan-card>button{margin-top:auto;padding-top:4px}
.rj-plan-template-panel{margin-top:20px}

/* Global menu search palette */
.rj-command-dialog{width:min(620px,calc(100vw - 24px))}
.rj-command-dialog .rj-dialog-card{overflow:visible}
.rj-command-search{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:10px;padding:14px 16px;border-bottom:1px solid #e5e9e6}
.rj-command-search input{width:100%;height:42px;border:0;outline:0;background:transparent;color:#263d31;font-size:.9rem}.rj-command-search kbd{padding:3px 7px;border:1px solid #dce2dd;border-radius:5px;background:#f7f9f7;color:#748078;font-size:.64rem}
.rj-command-results{max-height:min(58vh,480px);overflow:auto;padding:8px}.rj-command-item{width:100%;min-height:48px;display:grid;grid-template-columns:34px minmax(0,1fr) auto;align-items:center;gap:10px;padding:7px 9px;border:0;border-radius:8px;background:transparent;color:#354b3f;text-align:left;text-decoration:none;cursor:pointer}.rj-command-item:hover,.rj-command-item.active{background:#edf4ef}.rj-command-item>span:first-child{width:34px;height:34px;display:grid;place-items:center;border-radius:7px;background:#f2f5f2;color:#50705e}.rj-command-item strong{display:block;font-size:.78rem}.rj-command-item small{display:block;margin-top:2px;color:#849087;font-size:.67rem}.rj-command-item em{color:#849087;font-size:.65rem;font-style:normal}.rj-command-empty{padding:28px 18px;color:#78857d;text-align:center;font-size:.78rem}

/* Map card link in game should remain compact on narrow screens. */
.runtime-map-copy{flex-wrap:wrap}.runtime-map-copy span{min-width:0;flex:1 1 220px}.runtime-map-copy a{white-space:nowrap}

@media(max-width:1024px){.rj-sidebar-collapse{display:none!important}.rj-sidebar-close{display:grid!important}.rj-data-table th:last-child,.rj-data-table td:last-child{min-width:160px}}
@media(max-width:780px){.rj-row-actions,.rj-row-actions .rj-inline-action{align-items:stretch;flex-direction:column}.rj-row-actions>* ,.rj-row-actions .rj-inline-action>*{width:100%;max-width:none!important}.rj-template-dialog .rj-form-grid{grid-template-columns:1fr}.rj-template-dialog .rj-form-grid>[style*="grid-column"]{grid-column:auto!important}}
@media(max-width:520px){.rj-dialog,.rj-dialog.rj-template-dialog{width:calc(100vw - 16px);max-width:calc(100vw - 16px);max-height:calc(100dvh - 16px)}.rj-dialog-head,.rj-dialog-body,.rj-template-dialog .rj-form-grid{padding-left:16px;padding-right:16px}.rj-template-dialog .rj-dialog-actions{margin-left:-16px;margin-right:-16px;padding-left:16px;padding-right:16px}.rj-settings-grid .rj-form-grid{padding:16px}}

/* RuangJanji v0.4.6 — settings/help/direct WA/accessibility polish */
html{scrollbar-color:#b9c8bf #f5f2ea;scrollbar-width:thin}
html::-webkit-scrollbar,.rj-sidebar::-webkit-scrollbar,.rj-table-scroll::-webkit-scrollbar,.rj-dialog-card::-webkit-scrollbar{width:9px;height:9px}
html::-webkit-scrollbar-track,.rj-sidebar::-webkit-scrollbar-track,.rj-table-scroll::-webkit-scrollbar-track,.rj-dialog-card::-webkit-scrollbar-track{background:#f5f2ea}
html::-webkit-scrollbar-thumb,.rj-sidebar::-webkit-scrollbar-thumb,.rj-table-scroll::-webkit-scrollbar-thumb,.rj-dialog-card::-webkit-scrollbar-thumb{background:#b9c8bf;border:2px solid #f5f2ea;border-radius:999px}
html::-webkit-scrollbar-thumb:hover,.rj-sidebar::-webkit-scrollbar-thumb:hover,.rj-table-scroll::-webkit-scrollbar-thumb:hover,.rj-dialog-card::-webkit-scrollbar-thumb:hover{background:#8fa397}
.rj-sidebar{overflow-y:auto;overscroll-behavior:contain;scrollbar-color:#bac6be transparent;scrollbar-width:thin}
.rj-sidebar-brand{position:sticky;top:0;z-index:5;background:inherit}
.rj-brand-link strong{display:grid;gap:1px;line-height:1.05}.rj-brand-link strong small{font-size:.52rem;letter-spacing:.12em;font-weight:750;color:#87938b;white-space:nowrap}
.rj-sidebar-collapsed .rj-brand-mark{display:none!important}.rj-sidebar-collapsed .rj-brand-link:has(.rj-brand-mark){width:0!important;flex-basis:0!important;overflow:hidden}
.rj-sidebar-help{flex:0 0 auto}.rj-sidebar-help a{max-width:100%}.rj-sidebar-help a span{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.rj-settings-grid{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:18px}.rj-settings-wide{grid-column:1/-1}.rj-settings-actions{grid-column:1/-1;display:flex;justify-content:flex-end}.rj-form-span{grid-column:1/-1}.rj-form-span small{display:block;margin-top:6px;color:#7a877f;font-size:.74rem;line-height:1.5}
.rj-cover-card{align-self:start}.rj-cover-preview{width:100%;aspect-ratio:16/9;overflow:hidden;border:1px solid #e2e7e3;border-radius:10px;background:#edf1ee;margin:14px 0}.rj-cover-preview img{width:100%;height:100%;object-fit:cover}
.rj-guest-actions{min-width:210px}.rj-wa-direct{background:#edf8f1!important;border-color:#cfe6d7!important;color:#22633a!important;text-decoration:none!important}.rj-wa-direct.classic{background:#f6f1e7!important;border-color:#e6d9bf!important;color:#735a2a!important}.rj-direct-wa-note,.rj-gateway-disabled{display:flex;align-items:flex-start;gap:10px;margin-top:16px;padding:13px 14px;border:1px solid #dce7e0;border-radius:9px;background:#f7faf8;color:#42584b}.rj-direct-wa-note>svg{color:#2c7c48;flex:0 0 auto}.rj-direct-wa-note div,.rj-gateway-disabled{line-height:1.45}.rj-direct-wa-note strong,.rj-gateway-disabled strong{display:block;font-size:.82rem}.rj-direct-wa-note small,.rj-gateway-disabled small{display:block;margin-top:2px;color:#718078;font-size:.74rem}
.rj-nav a[data-customer-nav].active{background:#edf4ef;color:#284737}.rj-nav a[data-customer-nav].active svg{color:#284737}
@media(max-width:860px){.rj-settings-grid{grid-template-columns:1fr}.rj-settings-wide,.rj-settings-actions{grid-column:auto}.rj-guest-actions{min-width:0}.rj-settings-actions .rj-primary-btn{width:100%}}

/* V0.4.7 — customer media workflow */
.rj-couple-photo-preview{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:14px;margin:16px 0}.rj-couple-photo-preview figure{margin:0;overflow:hidden;border:1px solid var(--rj-border,#e7e5e4);border-radius:18px;background:#f8faf9}.rj-couple-photo-preview figure>img,.rj-couple-photo-preview figure>span{display:grid;width:100%;aspect-ratio:4/5;place-items:center;object-fit:cover;background:linear-gradient(145deg,#eef2ef,#dce7df);color:#68766f;font-size:.82rem}.rj-couple-photo-preview figcaption{padding:10px 12px;font-weight:700;color:#263a31;text-align:center}.rj-gallery-dropzone{position:relative;display:grid;gap:13px;min-height:180px;padding:22px;border:1.5px dashed #b8c9c0;border-radius:18px;background:linear-gradient(180deg,#fbfdfc,#f5f9f6);cursor:pointer;transition:border-color .18s ease,background .18s ease,transform .18s ease}.rj-gallery-dropzone:hover,.rj-gallery-dropzone.is-dragging{border-color:#567766;background:#edf6f0}.rj-gallery-dropzone.is-dragging{transform:translateY(-1px)}.rj-gallery-dropzone>input[type=file]{position:absolute;inset:0;width:100%;height:100%;opacity:0;cursor:pointer}.rj-gallery-drop-copy{pointer-events:none;display:grid;place-items:center;gap:6px;text-align:center;color:#52645b}.rj-gallery-drop-copy strong{color:#25372e;font-size:.94rem}.rj-gallery-drop-copy span{font-size:.76rem}.rj-gallery-file-preview{position:relative;z-index:2;display:grid;grid-template-columns:repeat(auto-fill,minmax(92px,1fr));gap:8px;pointer-events:none}.rj-gallery-file-preview:empty{display:none}.rj-gallery-file-chip{min-width:0;overflow:hidden;border:1px solid #dde6e0;border-radius:12px;background:#fff}.rj-gallery-file-chip img{width:100%;aspect-ratio:1/1;object-fit:cover;background:#eef2ef}.rj-gallery-file-chip span{display:block;overflow:hidden;padding:6px 7px;text-overflow:ellipsis;white-space:nowrap;font-size:.66rem;color:#4d5d55}.rj-gallery-file-summary{grid-column:1/-1;color:#52645b;font-size:.74rem;text-align:center}.rj-scroll-restored{scroll-margin-top:92px}@media(max-width:640px){.rj-couple-photo-preview{gap:9px}.rj-gallery-dropzone{min-height:160px;padding:16px}.rj-gallery-file-preview{grid-template-columns:repeat(3,minmax(0,1fr))}}

/* V0.4.8 select visibility + destructive customer action */
.rj-select2-menu{max-height:min(330px,calc(100dvh - 24px));}
.rj-select2-options{max-height:min(270px,calc(100dvh - 90px));overscroll-behavior:contain;scrollbar-width:thin;}
.rj-table-action.danger{border-color:#ecd0cd!important;color:#a2443d!important;background:#fff8f7!important}.rj-table-action.danger:hover{background:#fff0ee!important}
.rj-primary-btn.danger{background:#a2443d!important;border-color:#a2443d!important;color:#fff!important}.rj-dialog-note.danger{border:1px solid #efd3d0;background:#fff7f6;color:#8c4039}.rj-dialog-note.danger strong{color:#7d2f29}
