.oja-entering{animation:oja-fade-in .2s ease forwards}.oja-leaving{animation:oja-fade-out .15s ease forwards;pointer-events:none}[data-each-item].oja-entering{animation:oja-slide-in .2s ease forwards}[data-each-item].oja-leaving{animation:oja-slide-out .2s ease forwards;pointer-events:none;overflow:hidden}.oja-updated{animation:oja-flash .5s ease forwards}.oja-field-error{display:block;font-size:12px;color:var(--oja-error,#c0392b);margin-top:4px}.oja-input-error{outline:2px solid var(--oja-error,#c0392b);outline-offset:1px}.oja-toast-container{position:fixed;z-index:9999;display:flex;flex-direction:column;gap:8px;max-width:380px;width:calc(100vw - 32px);pointer-events:none}.oja-toast-top-right{top:16px;right:16px}.oja-toast-top-left{top:16px;left:16px}.oja-toast-top-center{top:16px;left:50%;transform:translateX(-50%)}.oja-toast-bottom-right{bottom:16px;right:16px;flex-direction:column-reverse}.oja-toast-bottom-left{bottom:16px;left:16px;flex-direction:column-reverse}.oja-toast-bottom-center{bottom:16px;left:50%;transform:translateX(-50%);flex-direction:column-reverse}.oja-toast{display:flex;align-items:center;gap:10px;padding:12px 14px;border-radius:var(--oja-radius,8px);box-shadow:0 4px 16px rgba(0,0,0,.25);font-size:13px;line-height:1.4;pointer-events:all;cursor:default;opacity:0;transform:translateY(-8px);transition:opacity .2s ease,transform .2s ease}.oja-toast-bottom-center .oja-toast,.oja-toast-bottom-left .oja-toast,.oja-toast-bottom-right .oja-toast{transform:translateY(8px)}.oja-toast.oja-toast-visible{opacity:1;transform:translateY(0)}.oja-toast.oja-toast-leaving{opacity:0;transform:translateY(-8px);transition:opacity .25s ease,transform .25s ease;pointer-events:none}.oja-toast-icon{flex-shrink:0;font-size:14px;line-height:1}.oja-toast-msg{flex:1;min-width:0;word-break:break-word}.oja-toast-action,.oja-toast-close{flex-shrink:0;background:0 0;border:none;cursor:pointer;font-size:12px;padding:2px 6px;border-radius:4px;opacity:.7;transition:opacity .15s}.oja-toast-action:hover,.oja-toast-close:hover{opacity:1}.oja-banner{display:flex;align-items:center;gap:10px;padding:10px 16px;font-size:13px;position:relative;z-index:9998}.oja-banner-icon{flex-shrink:0}.oja-banner-msg{flex:1}.oja-banner-action,.oja-banner-dismiss{flex-shrink:0;background:0 0;border:none;cursor:pointer;font-size:12px;padding:2px 6px;border-radius:4px;opacity:.7}.oja-banner-action:hover,.oja-banner-dismiss:hover{opacity:1}.oja-banner-leaving{animation:oja-fade-out .2s ease forwards}@keyframes oja-fade-in{from{opacity:0;transform:translateY(6px)}to{opacity:1;transform:none}}@keyframes oja-fade-out{from{opacity:1}to{opacity:0}}@keyframes oja-slide-in{from{opacity:0;transform:translateY(8px)}to{opacity:1;transform:none}}@keyframes oja-slide-out{from{opacity:1;max-height:200px}to{opacity:0;max-height:0;padding:0;margin:0}}@keyframes oja-flash{0%{background-color:transparent}30%{background-color:var(--oja-highlight,rgba(255,251,230,.9))}100%{background-color:transparent}}@keyframes oja-shimmer{0%{background-position:-200% 0}100%{background-position:200% 0}}.oja-skeleton-wrapper{width:100%}.oja-skel-avatar,.oja-skel-line,.oja-skel-title{background:linear-gradient(90deg,var(--panel-bg,#f3f4f6) 25%,var(--border,#e5e7eb) 50%,var(--panel-bg,#f3f4f6) 75%);background-size:400% 100%;animation:oja-shimmer 1.5s infinite linear;border-radius:var(--oja-radius,4px);margin-bottom:8px}.oja-skel-line{height:16px;width:100%}.oja-skel-line:last-child{width:80%;margin-bottom:0}.oja-skel-title{height:24px;width:60%;margin-bottom:16px}.oja-skel-avatar{height:48px;width:48px;border-radius:50%;flex-shrink:0}.oja-skel-row{display:flex;gap:16px;margin-bottom:12px;align-items:center}.oja-popover{background:var(--bg,#fff);border:1px solid var(--border,#e5e7eb);border-radius:var(--oja-radius,8px);box-shadow:0 4px 16px rgba(0,0,0,.15);padding:8px}.oja-tooltip{background:var(--fg,#1a1a1a);color:var(--bg,#fff);padding:4px 8px;border-radius:var(--oja-radius,4px);font-size:11px;pointer-events:none;white-space:nowrap}@media (prefers-reduced-motion:reduce){.oja-entering,.oja-leaving,.oja-toast,.oja-toast.oja-toast-leaving,.oja-updated,[data-each-item].oja-entering,[data-each-item].oja-leaving{animation:none;transition:none}.oja-toast{opacity:1;transform:none}.oja-toast-leaving{opacity:0}.oja-skel-avatar,.oja-skel-line,.oja-skel-title{animation:none;background:var(--border,#e5e7eb)}}.oja-table-wrap{border:1px solid var(--oja-table-border,var(--border,#e5e7eb));border-radius:var(--oja-radius,8px);overflow:hidden;background:var(--oja-table-bg,var(--bg,#fff));font-size:var(--oja-table-font-size, 13px)}.oja-table-compact .oja-table td,.oja-table-compact .oja-table th{padding:6px 10px}.oja-table-scroll{overflow-x:auto;width:100%}.oja-table{width:100%;border-collapse:collapse;line-height:1.4}.oja-table td,.oja-table th{padding:10px 14px;text-align:left;border-bottom:1px solid var(--oja-table-border,var(--border,#e5e7eb));vertical-align:middle}.oja-table thead th{background:var(--oja-table-header-bg,var(--panel-bg,#f9fafb));color:var(--oja-table-header-color,var(--text-mute,#6b7280));font-size:11px;font-weight:600;letter-spacing:.05em;text-transform:uppercase;white-space:nowrap;position:sticky;top:0;z-index:1}.oja-table .oja-th-sortable{cursor:pointer;user-select:none}.oja-table .oja-th-sortable:hover{background:var(--oja-table-header-hover,var(--hover-bg,#f3f4f6))}.oja-table .oja-th-sortable::after{content:' ⇅';opacity:.4;font-size:10px}.oja-table .oja-th-asc::after{content:' ▲';opacity:1;color:var(--oja-table-accent,var(--accent,#06f))}.oja-table .oja-th-desc::after{content:' ▼';opacity:1;color:var(--oja-table-accent,var(--accent,#06f))}.oja-table tbody tr:last-child td{border-bottom:none}.oja-table tbody tr:hover td{background:var(--oja-table-row-hover,var(--hover-bg,#f9fafb))}.oja-table .oja-row-clickable{cursor:pointer}.oja-row-selected td{background-color:var(--oja-table-row-selected,var(--hover-bg,#f3f4f6))}.oja-table .oja-cell-content{display:inline-flex;align-items:center;gap:6px;max-width:100%}.oja-table .oja-cell-content a{color:var(--oja-table-link,var(--accent,#06f));text-decoration:none}.oja-table .oja-cell-content a:hover{text-decoration:underline}.oja-trunc-ellipsis .oja-cell-content{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;max-width:240px;display:block}.oja-trunc-fade .oja-cell-content{white-space:nowrap;overflow:hidden;max-width:240px;-webkit-mask-image:linear-gradient(to right,black 80%,transparent 100%);mask-image:linear-gradient(to right,black 80%,transparent 100%);display:block}.oja-trunc-wrap .oja-cell-content{white-space:normal;word-break:break-word}.oja-copy-cell{position:relative}.oja-copy-btn{background:0 0;border:none;cursor:pointer;opacity:0;padding:2px 4px;border-radius:4px;font-size:12px;color:var(--text-mute,#6b7280);transition:opacity .15s;vertical-align:middle}.oja-copy-cell:hover .oja-copy-btn{opacity:1}.oja-copy-btn:hover{background:var(--hover-bg,#f3f4f6);color:var(--accent,#06f)}.oja-badge{display:inline-flex;align-items:center;padding:2px 8px;border-radius:12px;font-size:11px;font-weight:500;white-space:nowrap;background:var(--oja-badge-bg,var(--hover-bg,#f3f4f6));color:var(--oja-badge-color,var(--text-mute,#6b7280))}.oja-badge-success{background:var(--success,#00cf78);color:#fff}.oja-badge-danger,.oja-badge-error{background:var(--danger,#ff3b30);color:#fff}.oja-badge-warn,.oja-badge-warning{background:var(--warning,#fc0);color:#1a1a1a}.oja-badge-info{background:var(--info,#06f);color:#fff}.oja-td-actions{text-align:center;white-space:nowrap}.oja-action-btn{background:0 0;border:1px solid var(--border,#e5e7eb);border-radius:6px;cursor:pointer;padding:4px 8px;font-size:12px;color:var(--text-mute,#6b7280);margin:0 2px;transition:all .15s}.oja-action-btn:hover{background:var(--hover-bg,#f3f4f6);color:var(--fg,#1a1a1a);border-color:var(--accent,#06f)}.oja-td-num{color:var(--text-mute,#6b7280);font-size:11px;text-align:center;width:40px}.oja-td-select,.oja-th-select{width:40px;text-align:center}.oja-table-select-all,.oja-table-select-row{cursor:pointer}.oja-group-header{cursor:pointer;background:var(--oja-table-header-bg,var(--panel-bg,#f9fafb))}.oja-group-header:hover{background:var(--oja-table-header-hover,var(--hover-bg,#f3f4f6))}.oja-group-header td{padding:8px 14px;font-weight:600;font-size:12px}.oja-group-label{margin-right:8px}.oja-group-count{display:inline-flex;align-items:center;background:var(--oja-table-accent,var(--accent,#06f));color:#fff;font-size:10px;padding:1px 6px;border-radius:10px;margin-right:8px}.oja-group-toggle{float:right;color:var(--text-mute,#6b7280);font-size:10px}.oja-state-cell{text-align:center;padding:40px 20px!important;color:var(--text-mute,#6b7280);border-bottom:none!important}.oja-empty-state,.oja-loading-state{display:flex;flex-direction:column;align-items:center;gap:12px;font-size:13px}.oja-spinner{display:inline-block;width:24px;height:24px;border:2px solid var(--border,#e5e7eb);border-top-color:var(--oja-table-accent,var(--accent,#06f));border-radius:50%;animation:oja-spin .8s linear infinite}@keyframes oja-spin{to{transform:rotate(360deg)}}.oja-table-footer{display:flex;align-items:center;justify-content:space-between;padding:10px 14px;border-top:1px solid var(--oja-table-border,var(--border,#e5e7eb));background:var(--oja-table-header-bg,var(--panel-bg,#f9fafb));gap:12px;flex-wrap:wrap}.oja-table-footer-left{display:flex;gap:12px;align-items:center}.oja-page-info{font-size:12px;color:var(--text-mute,#6b7280)}.oja-page-nav{display:flex;gap:4px;flex-wrap:wrap}.oja-page-btn{min-width:32px;height:32px;padding:0 8px;border:1px solid var(--oja-table-border,var(--border,#e5e7eb));background:var(--oja-table-bg,var(--bg,#fff));color:var(--fg,#1a1a1a);border-radius:6px;font-size:12px;cursor:pointer;transition:all .15s}.oja-page-btn:hover:not(:disabled){background:var(--hover-bg,#f3f4f6)}.oja-page-btn.active{background:var(--oja-table-accent,var(--accent,#06f));color:#fff;border-color:var(--oja-table-accent,var(--accent,#06f))}.oja-page-btn:disabled{opacity:.4;cursor:not-allowed}.oja-export-btn{padding:0 12px;font-weight:500}.oja-load-more-btn{display:block;width:100%;padding:10px;border:1px dashed var(--oja-table-border,var(--border,#e5e7eb));background:0 0;border-radius:6px;font-size:13px;color:var(--oja-table-accent,var(--accent,#06f));cursor:pointer;transition:all .15s}.oja-load-more-btn:hover{background:var(--hover-bg,#f3f4f6)}.oja-mobile-cards{display:none;padding:8px;gap:8px;flex-direction:column}.oja-card{border:1px solid var(--oja-table-border,var(--border,#e5e7eb));border-radius:var(--oja-radius,8px);padding:12px;background:var(--oja-table-bg,var(--bg,#fff));font-size:13px}.oja-card-primary{display:flex;align-items:center;gap:8px;margin-bottom:6px}.oja-card-num{background:var(--oja-table-accent,var(--accent,#06f));color:#fff;font-size:10px;padding:2px 6px;border-radius:10px;font-weight:600}.oja-card-primary-val{font-weight:600;color:var(--fg,#1a1a1a);flex:1}.oja-card-summary{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:4px}.oja-card-field{display:flex;flex-direction:column;gap:2px;flex:1 1 40%;min-width:100px}.oja-card-label{font-size:10px;font-weight:600;text-transform:uppercase;letter-spacing:.05em;color:var(--text-mute,#6b7280);background:var(--oja-table-header-bg,var(--panel-bg,#f9fafb));padding:1px 4px;border-radius:3px}.oja-card-val{font-size:13px;color:var(--fg,#1a1a1a);word-break:break-word}.oja-card-toggle{display:block;width:100%;background:0 0;border:none;border-top:1px solid var(--oja-table-border,var(--border,#e5e7eb));margin-top:8px;padding-top:6px;font-size:10px;color:var(--text-mute,#6b7280);cursor:pointer;text-align:center}.oja-card-details{margin-top:8px;display:flex;flex-wrap:wrap;gap:6px;border-top:1px solid var(--oja-table-border,var(--border,#e5e7eb));padding-top:8px}.oja-card-actions{display:flex;flex-wrap:wrap;gap:6px;width:100%;margin-top:6px}@media (max-width:768px){.oja-table-scroll{display:none}.oja-mobile-cards{display:flex}.oja-table-footer{justify-content:center}.oja-page-nav{justify-content:center}}@media (min-width:769px){.oja-mobile-cards{display:none!important}}.oja-tabs{display:flex;gap:0;overflow-x:auto;scrollbar-width:none}.oja-tabs::-webkit-scrollbar{display:none}.oja-tabs-line{border-bottom:2px solid var(--oja-tab-border,var(--border,#e5e7eb))}.oja-tabs-line .oja-tab-btn{background:0 0;border:none;border-bottom:2px solid transparent;margin-bottom:-2px;padding:10px 16px;font-size:13px;font-weight:500;color:var(--text-mute,#6b7280);cursor:pointer;white-space:nowrap;transition:color .15s,border-color .15s}.oja-tabs-line .oja-tab-btn:hover:not(:disabled){color:var(--fg,#1a1a1a)}.oja-tabs-line .oja-tab-btn.active{color:var(--oja-tab-accent,var(--accent,#06f));border-bottom-color:var(--oja-tab-accent,var(--accent,#06f))}.oja-tabs-line .oja-tab-btn:disabled{opacity:.4;cursor:not-allowed}.oja-tabs-pill{gap:4px;padding:4px;background:var(--oja-tab-pill-bg,var(--panel-bg,#f3f4f6));border-radius:var(--oja-radius,8px);width:fit-content}.oja-tabs-pill .oja-tab-btn{background:0 0;border:none;border-radius:6px;padding:7px 14px;font-size:13px;font-weight:500;color:var(--text-mute,#6b7280);cursor:pointer;white-space:nowrap;transition:all .15s}.oja-tabs-pill .oja-tab-btn:hover:not(:disabled){background:var(--oja-tab-pill-hover,rgba(0,0,0,.05));color:var(--fg,#1a1a1a)}.oja-tabs-pill .oja-tab-btn.active{background:var(--oja-tab-pill-active-bg,var(--bg,#fff));color:var(--oja-tab-accent,var(--accent,#06f));box-shadow:0 1px 3px rgba(0,0,0,.12)}.oja-tabs-pill .oja-tab-btn:disabled{opacity:.4;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.oja-spinner{animation:none;opacity:.6}.oja-action-btn,.oja-copy-btn,.oja-page-btn,.oja-tabs-line .oja-tab-btn,.oja-tabs-pill .oja-tab-btn{transition:none}}.oja-toast-success{background:var(--success-bg,#f0fdf4);color:var(--success-fg,#166534);border-left:3px solid var(--success,#16a34a)}.oja-toast-error{background:var(--danger-bg,#fef2f2);color:var(--danger-fg,#991b1b);border-left:3px solid var(--danger,#ef4444)}.oja-toast-warn{background:var(--warning-bg,#fffbeb);color:var(--warning-fg,#92400e);border-left:3px solid var(--warning,#f59e0b)}.oja-toast-info{background:var(--info-bg,#eff6ff);color:var(--info-fg,#1e40af);border-left:3px solid var(--info,#3b82f6)}.oja-toast-custom{background:var(--bg,#fff);border-left:3px solid var(--border,#e5e7eb)}.oja-modal-sm{max-width:360px!important;width:100%}.oja-modal-md{max-width:540px!important;width:100%}.oja-modal-lg{max-width:720px!important;width:100%}.oja-modal-xl{max-width:960px!important;width:100%}.oja-modal-full{max-width:98vw!important;width:98vw;max-height:96vh}.oja-shake{animation:oja-shake .4s ease}@keyframes oja-shake{0%,100%{transform:translateX(0)}20%{transform:translateX(-6px)}40%{transform:translateX(6px)}60%{transform:translateX(-4px)}80%{transform:translateX(4px)}}[data-collapse-panel]{overflow:hidden;transition:max-height .25s ease,opacity .2s ease}[data-collapse-panel][aria-hidden=true]{max-height:0!important;opacity:0;pointer-events:none}[data-collapse-panel][aria-hidden=false]{opacity:1}[data-collapse-trigger][aria-expanded=true] .oja-collapse-icon{transform:rotate(180deg)}[data-collapse-trigger][aria-expanded=false] .oja-collapse-icon{transform:rotate(0)}.oja-collapse-icon{display:inline-block;transition:transform .2s ease}.oja-accordion-item{border:1px solid var(--border,#e5e7eb);border-radius:var(--oja-radius,8px);overflow:hidden;margin-bottom:6px}.oja-accordion-item:last-child{margin-bottom:0}.oja-accordion-trigger{display:flex;align-items:center;justify-content:space-between;width:100%;padding:12px 16px;background:var(--panel-bg,#f9fafb);border:none;cursor:pointer;font-size:13px;font-weight:500;color:var(--fg,#1a1a1a);text-align:left;transition:background .15s}.oja-accordion-trigger:hover{background:var(--hover-bg,#f3f4f6)}.oja-accordion-trigger[aria-expanded=true]{background:var(--hover-bg,#f3f4f6);border-bottom:1px solid var(--border,#e5e7eb)}.oja-accordion-label{flex:1}.oja-accordion-icon{flex-shrink:0;font-size:11px;color:var(--text-mute,#6b7280);transition:transform .2s ease}.oja-accordion-trigger[aria-expanded=true] .oja-accordion-icon{transform:rotate(180deg)}.oja-accordion-body{padding:14px 16px;font-size:13px;color:var(--fg,#1a1a1a);overflow:hidden;transition:max-height .25s ease,opacity .2s ease,padding .2s ease}.oja-accordion-body[aria-hidden=true]{max-height:0!important;opacity:0;padding-top:0;padding-bottom:0;pointer-events:none}.oja-accordion-body[aria-hidden=false]{opacity:1}@media (prefers-reduced-motion:reduce){.oja-accordion-body,.oja-accordion-icon,.oja-collapse-icon,[data-collapse-panel]{transition:none}}.oja-wizard{display:flex;flex-direction:column;width:100%}.oja-wizard-header{padding:16px 20px 0}.oja-wizard-title{font-size:16px;font-weight:600;color:var(--fg,#1a1a1a);margin-bottom:12px}.oja-wizard-progress{display:flex;align-items:center;margin-bottom:16px}.oja-wizard-step-dot{width:28px;height:28px;border-radius:50%;border:2px solid var(--border,#e5e7eb);background:var(--bg,#fff);color:var(--text-mute,#6b7280);font-size:11px;font-weight:600;display:flex;align-items:center;justify-content:center;flex-shrink:0;transition:all .2s ease;position:relative;z-index:1}.oja-wizard-step-dot.active{border-color:var(--accent,#06f);background:var(--accent,#06f);color:#fff}.oja-wizard-step-dot.done{border-color:var(--success,#16a34a);background:var(--success,#16a34a);color:#fff}.oja-wizard-step-line{flex:1;height:2px;background:var(--border,#e5e7eb);transition:background .3s ease}.oja-wizard-step-line.done{background:var(--success,#16a34a)}.oja-wizard-count{font-size:11px;color:var(--text-mute,#6b7280);margin-bottom:4px}.oja-wizard-body{flex:1;padding:20px;overflow-y:auto}.oja-wizard-error{margin:0 20px 12px;padding:10px 14px;border-radius:var(--oja-radius,6px);background:var(--danger-bg,#fef2f2);color:var(--danger-fg,#991b1b);border-left:3px solid var(--danger,#ef4444);font-size:13px}.oja-wizard-footer{display:flex;align-items:center;justify-content:space-between;padding:14px 20px;border-top:1px solid var(--border,#e5e7eb);background:var(--panel-bg,#f9fafb);gap:8px}.oja-wizard-btn{padding:8px 16px;border-radius:var(--oja-radius,6px);font-size:13px;font-weight:500;cursor:pointer;transition:all .15s;border:1px solid transparent}.oja-wizard-back{background:0 0;border-color:var(--border,#e5e7eb);color:var(--text-mute,#6b7280)}.oja-wizard-back:hover:not(:disabled){background:var(--hover-bg,#f3f4f6);color:var(--fg,#1a1a1a)}.oja-wizard-next,.oja-wizard-submit{background:var(--accent,#06f);color:#fff;margin-left:auto}.oja-wizard-next:hover:not(:disabled),.oja-wizard-submit:hover:not(:disabled){filter:brightness(1.1)}.oja-wizard-cancel{background:0 0;border-color:transparent;color:var(--text-mute,#6b7280);font-size:12px}.oja-wizard-cancel:hover:not(:disabled){color:var(--danger,#ef4444)}.oja-wizard-btn:disabled{opacity:.4;cursor:not-allowed}@media (prefers-reduced-motion:reduce){.oja-wizard-btn,.oja-wizard-step-dot,.oja-wizard-step-line{transition:none}}.oja-progress-wrap{height:3px;background:0 0;overflow:hidden;border-radius:0}.oja-progress-top{position:fixed;top:0;left:0;right:0;z-index:10000;height:3px}.oja-progress-wrap:not(.oja-progress-top){width:100%;border-radius:var(--oja-radius,4px);background:var(--border,#e5e7eb)}.oja-progress-bar{height:100%;width:0%;background:var(--accent,#06f);border-radius:inherit;transition:width .3s ease,background .4s ease;transform-origin:left center}.oja-progress-bar.oja-progress-reversing{transition:width .15s ease-in,background .2s ease}.oja-progress-bar.oja-progress-indeterminate{width:100%!important;animation:oja-progress-pulse 1.4s ease-in-out infinite;background:var(--accent,#06f)}@keyframes oja-progress-pulse{0%{opacity:1;transform:scaleX(.1) translateX(-100%)}50%{opacity:.8;transform:scaleX(.6) translateX(60%)}100%{opacity:1;transform:scaleX(.1) translateX(600%)}}@media (prefers-reduced-motion:reduce){.oja-progress-bar{transition:none}.oja-progress-bar.oja-progress-indeterminate{animation:none;opacity:.6}.oja-accordion-body,[data-collapse-panel]{transition:none}}.oja-ctx-menu{background:var(--bg-panel,#1c2128);border:1px solid var(--border,#30363d);border-radius:8px;box-shadow:0 8px 32px rgba(0,0,0,.5),0 2px 8px rgba(0,0,0,.3);padding:4px 0;min-width:172px;max-width:280px;outline:0;animation:oja-ctx-in .1s ease}@keyframes oja-ctx-in{from{opacity:0;transform:scale(.97) translateY(-4px)}to{opacity:1;transform:scale(1) translateY(0)}}.oja-ctx-item{display:block;width:100%;padding:0;background:0 0;border:none;cursor:pointer;outline:0;text-align:left;color:var(--text-secondary,#8b949e);font-size:12.5px;font-family:var(--sans, system-ui, sans-serif);transition:background .1s,color .1s;border-radius:0}.oja-ctx-item:focus,.oja-ctx-item:hover{background:var(--bg-hover,#21262d);color:var(--text-primary,#e6edf3)}.oja-ctx-item.danger{color:var(--danger,#f85149)}.oja-ctx-item.danger:focus,.oja-ctx-item.danger:hover{background:var(--danger-subtle,rgba(248,81,73,.1));color:var(--danger,#f85149)}.oja-ctx-item.disabled{opacity:.4;cursor:default;pointer-events:none}.oja-ctx-inner{display:flex;align-items:center;gap:8px;padding:7px 14px;width:100%}.oja-ctx-icon{flex-shrink:0;width:16px;display:flex;align-items:center;justify-content:center;font-size:13px;opacity:.8}.oja-ctx-label{flex:1;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.oja-ctx-shortcut{flex-shrink:0;font-size:10.5px;color:var(--text-muted,#484f58);font-family:var(--mono, monospace);margin-left:auto;padding-left:12px}.oja-ctx-sep{height:1px;background:var(--border,#21262d);margin:3px 0}.oja-dp-wrap{position:relative;display:inline-block}.oja-dp-wrap input{cursor:pointer}.oja-dp-popup{position:absolute;top:calc(100% + 4px);left:0;z-index:9850;background:var(--dp-bg,var(--bg2,#1e2228));border:1px solid var(--border,rgba(255,255,255,.12));border-radius:8px;box-shadow:0 8px 24px rgba(0,0,0,.4);padding:12px;min-width:260px;user-select:none;animation:oja-dp-open .1s ease}@keyframes oja-dp-open{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.oja-dp-nav{display:flex;align-items:center;justify-content:space-between;margin-bottom:10px}.oja-dp-nav button{background:0 0;border:1px solid var(--border,rgba(255,255,255,.12));border-radius:4px;color:var(--text,#e0e0e0);width:28px;height:28px;cursor:pointer;font-size:13px;display:flex;align-items:center;justify-content:center;transition:background .1s}.oja-dp-nav button:hover{background:var(--hover-bg,rgba(255,255,255,.08))}.oja-dp-heading{font-size:13px;font-weight:600;color:var(--text,#e0e0e0);cursor:pointer;padding:4px 8px;border-radius:4px;transition:background .1s}.oja-dp-heading:hover{background:var(--hover-bg,rgba(255,255,255,.08))}.oja-dp-grid{display:grid;grid-template-columns:repeat(7,1fr);gap:2px}.oja-dp-dow{text-align:center;font-size:10px;font-weight:600;color:var(--text-mute,rgba(255,255,255,.4));padding:4px 0;text-transform:uppercase}.oja-dp-day{text-align:center;padding:6px 2px;font-size:12px;border-radius:4px;cursor:pointer;color:var(--text,#e0e0e0);transition:background 80ms}.oja-dp-day:hover{background:var(--hover-bg,rgba(255,255,255,.08))}.oja-dp-day.other-month{color:var(--text-mute,rgba(255,255,255,.25))}.oja-dp-day.today{font-weight:700;color:var(--accent,#0a84ff)}.oja-dp-day.selected{background:var(--accent,#0a84ff)!important;color:#fff;font-weight:600}.oja-dp-day.disabled{opacity:.3;cursor:not-allowed;pointer-events:none}.oja-dp-time{margin-top:10px;padding-top:10px;border-top:1px solid var(--border,rgba(255,255,255,.08));display:flex;align-items:center;gap:8px;justify-content:center}.oja-dp-time input[type=number]{width:44px;padding:4px;text-align:center;background:var(--input-bg,rgba(255,255,255,.05));border:1px solid var(--border,rgba(255,255,255,.12));border-radius:4px;color:var(--text,#e0e0e0);font-size:13px;font-family:var(--font-mono, monospace)}.oja-dp-time input[type=number]:focus{outline:0;border-color:var(--accent,#0a84ff)}.oja-dp-time-sep{font-size:14px;color:var(--text-mute,rgba(255,255,255,.5))}.oja-dp-footer{display:flex;justify-content:space-between;margin-top:10px;padding-top:10px;border-top:1px solid var(--border,rgba(255,255,255,.08))}.oja-dp-footer button{padding:5px 12px;border-radius:4px;font-size:12px;cursor:pointer;border:1px solid var(--border,rgba(255,255,255,.12));background:0 0;color:var(--text,#e0e0e0);transition:background .1s}.oja-dp-footer button.primary{background:var(--accent,#0a84ff);color:#fff;border-color:transparent}.oja-dp-footer button:hover{background:var(--hover-bg,rgba(255,255,255,.08))}.oja-dp-footer button.primary:hover{filter:brightness(1.1)}.oja-palette-overlay{position:fixed;inset:0;z-index:9900;background:rgba(0,0,0,.55);display:flex;align-items:flex-start;justify-content:center;padding-top:min(12vh,100px);backdrop-filter:blur(2px);animation:oja-palette-fade .1s ease}@keyframes oja-palette-fade{from{opacity:0}to{opacity:1}}.oja-palette-box{width:100%;max-width:560px;background:var(--palette-bg,var(--bg2,#1e2228));border:1px solid var(--palette-border,var(--border,rgba(255,255,255,.12)));border-radius:10px;box-shadow:0 20px 60px rgba(0,0,0,.5);overflow:hidden;animation:oja-palette-slide .12s ease}@keyframes oja-palette-slide{from{transform:translateY(-10px);opacity:0}to{transform:none;opacity:1}}.oja-palette-input-wrap{border-bottom:1px solid var(--border,rgba(255,255,255,.08))}.oja-palette-input{width:100%;padding:14px 16px;background:0 0;border:none;outline:0;font-size:15px;color:var(--text,#e0e0e0);font-family:inherit;box-sizing:border-box}.oja-palette-input::placeholder{color:var(--text-mute,rgba(255,255,255,.35))}.oja-palette-list{max-height:380px;overflow-y:auto;padding:4px}.oja-palette-group{padding:8px 12px 4px;font-size:10px;font-weight:700;letter-spacing:.08em;text-transform:uppercase;color:var(--text-mute,rgba(255,255,255,.35))}.oja-palette-item{display:flex;align-items:center;justify-content:space-between;width:100%;padding:9px 12px;background:0 0;border:none;border-radius:6px;cursor:pointer;text-align:left;font-family:inherit;font-size:13px;color:var(--text,#e0e0e0);transition:background 80ms;gap:10px}.oja-palette-item--active,.oja-palette-item:hover{background:var(--hover-bg,rgba(255,255,255,.08))}.oja-palette-item-left{display:flex;align-items:center;gap:10px;flex:1;min-width:0}.oja-palette-icon{font-size:15px;width:20px;text-align:center;flex-shrink:0}.oja-palette-label{flex:1;min-width:0}.oja-palette-label mark{background:0 0;color:var(--accent,#0a84ff);font-weight:700}.oja-palette-kbd{font-size:10px;padding:2px 6px;border:1px solid var(--border,rgba(255,255,255,.15));border-radius:4px;color:var(--text-mute,rgba(255,255,255,.4));font-family:var(--font-mono, monospace);white-space:nowrap;flex-shrink:0}.oja-palette-empty{padding:20px;text-align:center;color:var(--text-mute,rgba(255,255,255,.35));font-size:13px}.oja-panel{background:var(--panel-bg,var(--bg2,#1e2228));border:1px solid var(--panel-border,var(--border,rgba(255,255,255,.12)));border-radius:var(--panel-radius,8px);box-shadow:var(--panel-shadow,0 8px 32px rgba(0,0,0,.4));overflow:hidden;display:flex;flex-direction:column;min-width:200px;min-height:120px;box-sizing:border-box}.oja-panel-title{display:flex;align-items:center;justify-content:space-between;padding:0 10px 0 12px;height:36px;flex-shrink:0;background:var(--panel-title-bg,var(--bg3,rgba(255,255,255,.04)));border-bottom:1px solid var(--panel-border,var(--border,rgba(255,255,255,.08)));user-select:none}.oja-panel-title-text{font-size:12px;font-weight:600;color:var(--panel-title-color,var(--text,#e0e0e0));white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.oja-panel-actions{display:flex;align-items:center;gap:4px;flex-shrink:0}.oja-panel-btn{width:22px;height:22px;border:1px solid var(--border,rgba(255,255,255,.12));border-radius:4px;background:0 0;color:var(--text-mute,rgba(255,255,255,.5));font-size:13px;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;padding:0;transition:background .1s,color .1s}.oja-panel-btn:hover{background:var(--hover-bg,rgba(255,255,255,.08));color:var(--text,#e0e0e0)}.oja-panel-btn-close:hover{background:rgba(255,59,48,.15);border-color:rgba(255,59,48,.4);color:#ff3b30}.oja-panel-body{flex:1;overflow:auto;position:relative;min-height:0}.oja-panel-resize{position:absolute;bottom:0;right:0;width:14px;height:14px;cursor:se-resize;z-index:1;opacity:.4;transition:opacity .15s;background:linear-gradient(135deg,transparent 40%,var(--border,rgba(255,255,255,.3)) 40%,var(--border,rgba(255,255,255,.3)) 50%,transparent 50%,transparent 65%,var(--border,rgba(255,255,255,.3)) 65%,var(--border,rgba(255,255,255,.3)) 75%,transparent 75%)}.oja-panel-resize:hover,.oja-panel:hover .oja-panel-resize{opacity:.8}.oja-select{position:relative;display:block}.oja-select-trigger{display:flex;align-items:center;justify-content:space-between;min-height:var(--input-h,36px);padding:0 10px;border:1px solid var(--border,rgba(255,255,255,.15));border-radius:var(--radius,6px);background:var(--input-bg,var(--bg2,rgba(255,255,255,.05)));color:var(--text,#e0e0e0);cursor:pointer;font-size:13px;font-family:inherit;user-select:none;transition:border-color .15s}.oja-select-trigger:hover,.oja-select.open .oja-select-trigger{border-color:var(--accent,#0a84ff)}.oja-select-trigger.disabled{opacity:.5;cursor:not-allowed;pointer-events:none}.oja-select-value{flex:1;min-width:0}.oja-select-placeholder{color:var(--text-mute,rgba(255,255,255,.35))}.oja-select-tag{display:inline-flex;align-items:center;gap:4px;padding:1px 6px;margin:2px 2px 2px 0;background:var(--accent-subtle,rgba(10,132,255,.15));border:1px solid var(--accent,rgba(10,132,255,.3));border-radius:3px;font-size:11px;color:var(--text,#e0e0e0)}.oja-select-tag-remove{cursor:pointer;opacity:.6;line-height:1;padding:0 1px}.oja-select-tag-remove:hover{opacity:1}.oja-select-icons{display:flex;align-items:center;gap:4px;flex-shrink:0}.oja-select-clear{opacity:.4;cursor:pointer;font-size:14px;padding:0 2px;transition:opacity .1s}.oja-select-clear:hover{opacity:.9}.oja-select-arrow{opacity:.5;font-size:10px;transition:transform .15s}.oja-select.open .oja-select-arrow{transform:rotate(180deg)}.oja-select-dropdown{position:absolute;top:calc(100% + 4px);left:0;right:0;z-index:9800;background:var(--dropdown-bg,var(--bg2,#1e2228));border:1px solid var(--border,rgba(255,255,255,.12));border-radius:var(--radius,6px);box-shadow:0 8px 24px rgba(0,0,0,.4);overflow:hidden;animation:oja-select-open .1s ease}@keyframes oja-select-open{from{opacity:0;transform:translateY(-4px)}to{opacity:1;transform:none}}.oja-select-search{display:flex;align-items:center;border-bottom:1px solid var(--border,rgba(255,255,255,.08));padding:0 10px}.oja-select-search input{flex:1;padding:8px 0;background:0 0;border:none;outline:0;color:var(--text,#e0e0e0);font-size:13px;font-family:inherit}.oja-select-list{max-height:260px;overflow-y:auto;padding:4px}.oja-select-group-label{padding:8px 10px 4px;font-size:10px;font-weight:700;text-transform:uppercase;letter-spacing:.07em;color:var(--text-mute,rgba(255,255,255,.35))}.oja-select-option{display:flex;align-items:center;justify-content:space-between;padding:8px 10px;border-radius:4px;cursor:pointer;font-size:13px;color:var(--text,#e0e0e0);transition:background 80ms}.oja-select-option.active,.oja-select-option:hover{background:var(--hover-bg,rgba(255,255,255,.08))}.oja-select-option.selected{color:var(--accent,#0a84ff)}.oja-select-option.disabled{opacity:.4;cursor:not-allowed;pointer-events:none}.oja-select-option-meta{font-size:11px;color:var(--text-mute,rgba(255,255,255,.4))}.oja-select-check{opacity:0;font-size:12px;flex-shrink:0}.oja-select-option.selected .oja-select-check{opacity:1}.oja-select-empty{padding:20px;text-align:center;color:var(--text-mute,rgba(255,255,255,.35));font-size:13px}.oja-select-loading{padding:16px;text-align:center;color:var(--text-mute,rgba(255,255,255,.4));font-size:12px}