:root,.rahal-theme{--rahal-bg: #f7faf8;--rahal-surface: #ffffff;--rahal-surface-alt: #f1f5f9;--rahal-text: #1f2d23;--rahal-text-muted: #64756a;--rahal-text-light: #91a097;--rahal-border: #dce5de;--rahal-border-strong: #c5d2c8;--rahal-primary: #5d7865;--rahal-primary-hover: #405846;--rahal-primary-active: #35483b;--rahal-primary-light: rgba(93, 120, 101, .09);--rahal-primary-mid: rgba(93, 120, 101, .16);--rahal-success: #10b981;--rahal-success-bg: #ecfdf5;--rahal-warning: #f59e0b;--rahal-warning-bg: #fffbeb;--rahal-error: #ef4444;--rahal-error-bg: #fef2f2;--rahal-info: #3b82f6;--rahal-info-bg: #eff6ff;--rahal-radius-xs: 6px;--rahal-radius-sm: 8px;--rahal-radius-md: 12px;--rahal-radius-lg: 16px;--rahal-radius-xl: 20px;--rahal-radius-full: 9999px;--rahal-shadow-sm: 0 1px 3px rgba(15, 23, 42, .06), 0 1px 2px rgba(15, 23, 42, .04);--rahal-shadow-md: 0 4px 16px rgba(15, 23, 42, .08), 0 1px 3px rgba(15, 23, 42, .04);--rahal-font-sans: -apple-system, BlinkMacSystemFont, "SF Pro Display", "Segoe UI", Roboto, Inter, sans-serif;--rahal-focus-ring: 0 0 0 3px rgba(93, 120, 101, .22);--rahal-transition-fast: .12s ease}.rahal-app-header,.rahal-user-menu{box-sizing:border-box;color:var(--rahal-text);font-family:var(--rahal-font-sans)}.rahal-app-header *,.rahal-app-header *:before,.rahal-app-header *:after,.rahal-user-menu *,.rahal-user-menu *:before,.rahal-user-menu *:after{box-sizing:border-box}.rahal-app-header{position:relative;z-index:100;width:100%;border:1px solid var(--rahal-border);border-radius:var(--rahal-radius-xl);background:#fffffff5;box-shadow:var(--rahal-shadow-md);backdrop-filter:blur(12px);-webkit-backdrop-filter:blur(12px)}.rahal-app-header--sticky{position:sticky;top:max(1.25rem,env(safe-area-inset-top,0px))}.rahal-app-header__inner{display:flex;align-items:center;justify-content:space-between;gap:1rem;width:100%;min-height:72px;padding:.75rem 1.15rem}.rahal-app-header__brand{display:flex;align-items:center;min-width:0;gap:.65rem;color:inherit;text-decoration:none;transition:opacity var(--rahal-transition-fast)}.rahal-app-header__brand:hover{opacity:.85}.rahal-app-header__brand:focus-visible,.rahal-user-menu__trigger:focus-visible{border-radius:var(--rahal-radius-sm);outline:none;box-shadow:var(--rahal-focus-ring)}.rahal-app-header__brand-mark{display:grid;place-items:center;width:42px;height:42px;flex:0 0 42px;overflow:hidden;border-radius:var(--rahal-radius-md);background:var(--rahal-primary-light);color:var(--rahal-primary)}.rahal-app-header__brand-mark img{display:block;width:100%;height:100%;padding:3px;object-fit:contain;background:#fff}.rahal-app-header__brand-mark svg{width:25px;height:25px}.rahal-app-header__brand-copy{display:flex;min-width:0;flex-direction:column}.rahal-app-header__brand-copy strong{overflow:hidden;color:var(--rahal-text);font-size:17px;font-weight:700;line-height:1.15;letter-spacing:-.025em;text-overflow:ellipsis;white-space:nowrap}.rahal-app-header__brand-copy>span{overflow:hidden;color:var(--rahal-text-muted);font-size:11px;font-weight:600;line-height:1.3;letter-spacing:.05em;text-overflow:ellipsis;text-transform:uppercase;white-space:nowrap}.rahal-app-header__actions{display:flex;align-items:center;justify-content:flex-end;min-width:0;gap:.75rem}.rahal-user-menu{position:relative;flex:0 0 auto}.rahal-user-menu__trigger{display:inline-flex;align-items:center;max-width:min(52vw,280px);min-height:44px;gap:.55rem;margin:0;padding:.25rem .35rem;border:0;border-radius:var(--rahal-radius-sm);background:transparent;color:inherit;cursor:pointer;text-align:right;transition:background var(--rahal-transition-fast);-webkit-tap-highlight-color:transparent}.rahal-user-menu__trigger:hover,.rahal-user-menu__trigger[aria-expanded=true]{background:var(--rahal-primary-light)}.rahal-user-menu__avatar.p-avatar{width:38px;height:38px;flex:0 0 38px;border:1px solid rgba(93,120,101,.22);background:var(--rahal-primary-mid);color:var(--rahal-primary-hover);font-size:.78rem;font-weight:750}.rahal-user-menu__avatar .p-avatar-image{object-fit:cover}.rahal-user-menu__identity{display:flex;min-width:0;flex-direction:column;align-items:flex-end;gap:.1rem}.rahal-user-menu__name,.rahal-user-menu__role{display:block;max-width:14rem;overflow:hidden;line-height:1.2;text-overflow:ellipsis;white-space:nowrap}.rahal-user-menu__name{color:var(--rahal-text);font-size:.85rem;font-weight:700}.rahal-user-menu__role{color:var(--rahal-text-muted);font-size:.72rem;font-weight:600;letter-spacing:.05em;text-transform:uppercase}.rahal-user-menu__chevron{width:14px;height:14px;flex:0 0 14px;color:var(--rahal-text-muted);transition:transform var(--rahal-transition-fast)}.rahal-user-menu__trigger[aria-expanded=true] .rahal-user-menu__chevron{transform:rotate(180deg)}.rahal-user-menu__panel{position:absolute;top:calc(100% + .5rem);right:0;z-index:220;width:min(280px,calc(100vw - 2rem));padding:.5rem;border:1px solid var(--rahal-border-strong);border-radius:var(--rahal-radius-md);background:#fffffffa;box-shadow:var(--rahal-shadow-md);backdrop-filter:blur(10px);-webkit-backdrop-filter:blur(10px)}.rahal-user-menu__summary{display:grid;gap:.15rem;margin-bottom:.35rem;padding:.45rem .5rem .7rem;border-bottom:1px solid var(--rahal-border)}.rahal-user-menu__summary strong{color:var(--rahal-text);font-size:.85rem}.rahal-user-menu__summary span,.rahal-user-menu__summary small{color:var(--rahal-text-muted);font-size:.72rem;overflow-wrap:anywhere}.rahal-user-menu__logout.p-button{justify-content:flex-start;min-height:44px;padding-inline:.55rem;border-radius:var(--rahal-radius-sm)}.rahal-user-menu__logout svg{width:18px;height:18px}@media(max-width:600px){.rahal-app-header{border-radius:var(--rahal-radius-md)}.rahal-app-header--sticky{top:max(.5rem,env(safe-area-inset-top,0px))}.rahal-app-header__inner{min-height:62px;padding:.55rem max(.65rem,env(safe-area-inset-right,0px)) .55rem max(.65rem,env(safe-area-inset-left,0px))}.rahal-app-header__brand-mark{width:38px;height:38px;flex-basis:38px}.rahal-app-header__brand-mark svg{width:22px;height:22px}.rahal-app-header__brand-copy strong{max-width:46vw;font-size:15px}.rahal-app-header__brand-copy>span{max-width:46vw;font-size:10px}.rahal-user-menu__trigger{max-width:none;gap:.25rem;padding:.2rem}.rahal-user-menu__identity{display:none}.rahal-user-menu__avatar.p-avatar{width:40px;height:40px;flex-basis:40px}.rahal-user-menu__panel{position:fixed;top:calc(max(.5rem,env(safe-area-inset-top,0px)) + 62px);right:max(.5rem,env(safe-area-inset-right,0px))}}@media(max-width:340px){.rahal-app-header__brand{gap:.4rem}.rahal-app-header__brand-mark{display:none}.rahal-app-header__brand-copy strong,.rahal-app-header__brand-copy>span{max-width:58vw}}@media(prefers-reduced-motion:reduce){.rahal-app-header *,.rahal-app-header *:before,.rahal-app-header *:after{transition-duration:.01ms!important}}:root{font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif;color:#12213a;background:#f4f7fb;font-synthesis:none}*{box-sizing:border-box}body{min-width:320px;margin:0;background:#f4f7fb}button,input,textarea,select{font:inherit}button{cursor:pointer}.app-header-frame{max-width:1440px;margin:16px auto 20px;padding:0 16px}.app-main{max-width:1440px;margin:0 auto;padding:0 32px 48px}.header-nav{display:flex;gap:4px;align-items:center}.header-nav__link{color:#64748b;padding:9px 12px;border-radius:9px;font-size:.86rem;text-decoration:none;font-weight:650;white-space:nowrap}.header-nav__link:hover,.header-nav__link.is-active{color:#4f46e5;background:#eef0ff}.page-heading{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin:0 0 22px}.page-heading h1,.panel h2,.login-card h1{margin:0;letter-spacing:-.025em}.page-heading p:not(.eyebrow){color:#6b7a90;margin:8px 0 0}.eyebrow{margin:0 0 6px;color:#6671d8;font-size:.75rem;font-weight:800;letter-spacing:.07em;text-transform:uppercase}.panel{margin-bottom:18px;padding:22px;border:1px solid #e0e7f1;border-radius:16px;background:#fff;box-shadow:0 3px 12px #2536530a}.panel h2{font-size:1.05rem}.panel p{color:#718096;line-height:1.5}.sync-panel,.section-title,.filter-bar,.pager,.button-row{display:flex;gap:14px;align-items:center}.sync-panel,.section-title{justify-content:space-between}.button-row{flex-wrap:wrap}.button{min-height:38px;padding:8px 13px;color:#34445e;background:#fff;border:1px solid #d9e2ee;border-radius:9px;font-weight:650;font-size:.85rem;transition:.15s ease}.button:hover:not(:disabled){border-color:#aebcf9;color:#4f46e5}.button:disabled{opacity:.55;cursor:not-allowed}.button--primary{color:#fff;background:#5964ed;border-color:#5964ed}.button--primary:hover:not(:disabled){color:#fff;background:#4854da}.button--quiet{background:#f8fafc}.button--wide{width:100%}.running-notice{color:#3e50c3!important;font-weight:600}.updated{color:#8290a6;font-size:.82rem}.table-scroll{overflow:auto;border:1px solid #e7edf5;border-radius:10px}table{width:100%;border-collapse:collapse;min-width:720px;font-size:.86rem}th,td{padding:12px 13px;text-align:left;border-bottom:1px solid #edf1f6;vertical-align:top}th{color:#718096;background:#fafbfe;font-size:.73rem;letter-spacing:.035em;text-transform:uppercase}tbody tr:last-child td{border-bottom:0}td code,.entity-link code{display:block;margin-top:3px;color:#8b97aa;font-size:.72rem}.status{display:inline-block;padding:3px 7px;border-radius:999px;font-size:.74rem;font-weight:750}.status--success,.status--completed{color:#18794e;background:#e7f8ef}.status--running{color:#a86500;background:#fff3db}.status--failed{color:#b42318;background:#fff0ef}.text-button{padding:0;border:0;color:#5260d8;background:transparent;font-weight:650;font-size:.8rem}.text-button--danger{color:#c43a37;margin-left:10px}.job-actions{white-space:nowrap}.job-error{color:#aa302e;background:#fff8f7;white-space:pre-wrap}.empty-cell{padding:26px;text-align:center;color:#8390a5}.pager{justify-content:space-between;margin-top:16px;color:#718096;font-size:.85rem}.modal{position:fixed;z-index:20;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;padding:22px;background:#101b2f6b}.modal__content{position:relative;width:min(680px,100%);max-height:min(720px,90vh);overflow:auto;padding:28px;border-radius:16px;background:#fff}.modal__close{position:absolute;top:12px;right:14px;border:0;background:transparent;color:#64748b;font-size:1.6rem}.modal pre{overflow:auto;padding:14px;color:#1d3557;background:#f5f7fb;border-radius:10px;font-size:.8rem}.login-page{min-height:100vh;display:grid;place-items:center;padding:24px}.login-card{width:min(440px,100%);padding:32px;text-align:center;background:#fff;border:1px solid #dde6f2;border-radius:18px;box-shadow:0 14px 36px #2236581f}.login-card p{color:#718096;line-height:1.55}.login-mark{width:42px;height:42px;display:grid;place-items:center;margin:0 auto 15px;color:#5260d8;background:#eef0ff;border-radius:12px;font-weight:850}.form-error{padding:10px 12px;color:#b42318!important;text-align:left;background:#fff1f0;border:1px solid #fecaca;border-radius:8px;font-size:.86rem}.explorer{display:grid;grid-template-columns:220px minmax(0,1fr);padding:0;overflow:hidden}.explorer aside{padding:18px 12px;border-right:1px solid #e7edf5;background:#fbfcfe}.aside-label{margin:0 8px 9px;color:#8a97aa;font-size:.73rem;font-weight:750;text-transform:uppercase}.entity-link{display:block;padding:10px;color:#35445d;border-radius:8px;text-decoration:none;font-size:.88rem;font-weight:650}.entity-link:hover,.entity-link.is-active{color:#4f46e5;background:#eef0ff}.explorer__content{min-width:0;padding:22px}.filter-bar{align-items:flex-end;margin-bottom:14px}.filter-bar label{display:grid;gap:5px;color:#64748b;font-size:.76rem;font-weight:700}.filter-bar label:first-child{flex:1}.filter-bar textarea,.filter-bar select{min-height:38px;padding:8px 10px;color:#24344d;background:#fff;border:1px solid #dbe4f0;border-radius:8px}.filter-bar textarea{height:68px;resize:vertical}@media(max-width:850px){.app-main{padding:0 16px 32px}.app-header-frame{margin:8px auto 16px;padding:0 8px}.header-nav{display:none}.page-heading,.sync-panel,.section-title{align-items:flex-start;flex-direction:column}.explorer{grid-template-columns:1fr}.explorer aside{display:flex;gap:4px;overflow:auto;border-right:0;border-bottom:1px solid #e7edf5}.aside-label{display:none}.entity-link{min-width:max-content}.filter-bar{align-items:stretch;flex-direction:column}.filter-bar label:first-child{width:100%}}
