*{box-sizing:border-box;margin:0;padding:0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:Segoe UI,-apple-system,BlinkMacSystemFont,Roboto,Oxygen,Ubuntu,sans-serif}:root{--primary:#6b2574;--primary-dark:#4a1a52;--primary-light:#8b3594;--primary-tint:#f3e8ff;--accent:#e87722;--accent-dark:#c96419;--accent-tint:#ffedd5;--teal:#00a3ad;--teal-dark:#008b94;--teal-tint:#ccfbf1;--danger:#c41e3a;--danger-tint:#fee2e2;--warning:#b45309;--warning-tint:#fef3c7;--success:#008b94;--gray-50:#f9fafb;--gray-100:#f3f4f6;--gray-200:#e5e7eb;--gray-300:#d1d5db;--gray-400:#9ca3af;--gray-500:#6b7280;--gray-600:#4b5563;--gray-700:#374151;--gray-800:#1f2937;--gray-900:#111827;--sidebar-width:260px}body{background:var(--gray-100);color:var(--gray-900);min-height:100vh;font-size:15px}a{color:var(--primary)}.app{min-height:100vh;display:flex}.sidebar{width:var(--sidebar-width);background:linear-gradient(180deg, var(--primary) 0%, var(--primary-dark) 100%);color:#fff;flex-direction:column;height:100vh;display:flex;position:fixed;overflow-y:auto;box-shadow:2px 0 10px #0000001a}.logo{background:#fffffff2;border-bottom:1px solid #ffffff1a;padding:1.25rem 1.5rem}.logo-img{width:auto;height:32px;margin-bottom:.5rem;display:block}.logo span{color:var(--primary);text-transform:uppercase;letter-spacing:.025em;font-size:.75rem;font-weight:600;display:block}.scope-tag{letter-spacing:.05em;text-transform:uppercase;background:#ffffff1f;border-radius:999px;align-self:flex-start;margin:1rem 1rem 0;padding:.35rem .75rem;font-size:.75rem;font-weight:600}.nav-links{flex:1;padding:1rem;list-style:none}.nav-links li{margin-bottom:.25rem}.nav-links a{color:#ffffffd9;border-radius:.5rem;align-items:center;gap:.75rem;padding:.875rem 1rem;font-weight:500;text-decoration:none;transition:all .2s;display:flex}.nav-links a:hover{color:#fff;background:#ffffff26}.nav-links a.active{color:var(--primary);background:#fff;box-shadow:0 2px 8px #00000026}.sidebar-foot{color:#fff9;gap:.75rem;padding:1rem 1.5rem 1.25rem;font-size:.75rem;display:grid}.user{border-top:1px solid #ffffff26;justify-content:space-between;align-items:center;gap:.5rem;padding-top:.75rem;display:flex}.user-name{color:#fff;font-size:.85rem;font-weight:600}.user-email{word-break:break-all}.icon-button.light{color:#ffffffbf}.icon-button.light:hover{color:#fff;background:#ffffff26}.main-content{margin-left:var(--sidebar-width);flex:1;min-width:0;min-height:100vh;padding:2rem 2.5rem}.page-header{border-bottom:2px solid var(--gray-200);justify-content:space-between;align-items:flex-end;margin-bottom:1.5rem;padding-bottom:1rem;display:flex}.page-header h1{color:var(--primary);font-size:1.875rem;font-weight:700}.subtitle{color:var(--gray-500);margin-top:.25rem}.card{border:1px solid var(--gray-200);background:#fff;border-radius:.75rem;margin-bottom:1.5rem;padding:1.5rem;box-shadow:0 1px 3px #00000014,0 1px 2px #0000000f}.card h2{color:var(--primary);margin-bottom:1rem;font-size:1.125rem;font-weight:600}.stats-grid{grid-template-columns:repeat(4,1fr);gap:1.5rem;margin-bottom:1.5rem;display:grid}@media (width<=1200px){.stats-grid{grid-template-columns:repeat(2,1fr)}}.stat-card{border:1px solid var(--gray-200);color:inherit;background:#fff;border-radius:.75rem;padding:1.25rem 1.5rem;text-decoration:none;display:block;position:relative;overflow:hidden;box-shadow:0 1px 3px #00000014}a.stat-card:hover{border-color:var(--gray-300)}.stat-card:before{content:"";width:4px;position:absolute;top:0;bottom:0;left:0}.stat-card.primary:before{background:var(--primary)}.stat-card.accent:before{background:var(--accent)}.stat-card.teal:before,.stat-card.success:before{background:var(--teal)}.stat-card.danger:before{background:var(--danger)}.stat-label{color:var(--gray-500);text-transform:uppercase;letter-spacing:.03em;font-size:.8rem;font-weight:600}.stat-value{color:var(--gray-900);margin-top:.25rem;font-size:2rem;font-weight:700}.stat-of{color:var(--gray-400);font-size:1.1rem;font-weight:600}.stat-foot{color:var(--gray-500);margin-top:.25rem;font-size:.8rem}.alert{background:var(--danger-tint);color:var(--danger);border:1px solid #fecaca;border-radius:.75rem;flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.5rem;padding:.875rem 1.25rem;display:flex}.alert-item{color:var(--gray-800);align-items:center;gap:.5rem;text-decoration:none;display:inline-flex}.toolbar{flex-wrap:wrap;align-items:center;gap:.75rem;margin-bottom:1.25rem;display:flex}select,.search input{font:inherit;border:1px solid var(--gray-300);color:var(--gray-800);background:#fff;border-radius:.5rem;padding:.5rem .75rem;font-size:.9rem}select:focus,.search input:focus{outline:2px solid var(--primary-tint);border-color:var(--primary-light)}.search{flex:1;align-items:center;min-width:220px;max-width:420px;display:flex;position:relative}.search svg{color:var(--gray-400);position:absolute;left:.7rem}.search input{width:100%;padding-left:2.1rem}.checkbox{color:var(--gray-600);cursor:pointer;align-items:center;gap:.4rem;font-size:.9rem;display:inline-flex}.checkbox input{accent-color:var(--primary)}.segmented{border:1px solid var(--gray-300);border-radius:.5rem;display:inline-flex;overflow:hidden}.segmented button{font:inherit;color:var(--gray-600);cursor:pointer;background:#fff;border:0;padding:.45rem .85rem;font-size:.85rem}.segmented button+button{border-left:1px solid var(--gray-300)}.segmented button.active{background:var(--primary);color:#fff}.button{font:inherit;border:1px solid var(--primary);background:var(--primary);color:#fff;cursor:pointer;white-space:nowrap;border-radius:.5rem;align-items:center;gap:.35rem;padding:.5rem 1rem;font-weight:500;text-decoration:none;display:inline-flex}.button:hover{background:var(--primary-dark)}.button:disabled{opacity:.5;cursor:not-allowed}.button.small{padding:.3rem .65rem;font-size:.8rem}.button.ghost{color:var(--primary);border-color:var(--gray-300);background:#fff}.button.ghost:hover{background:var(--primary-tint)}.icon-button{color:var(--gray-500);cursor:pointer;background:0 0;border:0;border-radius:.375rem;padding:.25rem;display:inline-flex}.icon-button:hover{background:var(--gray-100);color:var(--gray-800)}.pill,.badge{white-space:nowrap;border-radius:999px;align-items:center;gap:.3rem;padding:.15rem .6rem;font-size:.75rem;font-weight:600;display:inline-flex}.health-ok{background:var(--teal-tint);color:var(--teal-dark)}.health-failed{background:var(--danger-tint);color:var(--danger)}.health-stale{background:var(--warning-tint);color:var(--warning)}.health-running{background:var(--primary-tint);color:var(--primary)}.health-never,.health-disabled{background:var(--gray-100);color:var(--gray-500)}.badge{text-transform:uppercase;letter-spacing:.03em;font-size:.68rem}.change-new,.change-added{background:var(--teal-tint);color:var(--teal-dark)}.change-changed{background:var(--accent-tint);color:var(--accent-dark)}.change-removed{background:var(--danger-tint);color:var(--danger)}.run-ok{background:var(--teal-tint);color:var(--teal-dark)}.run-failed{background:var(--danger-tint);color:var(--danger)}.run-running{background:var(--primary-tint);color:var(--primary)}.chip{background:var(--primary-tint);color:var(--primary);border-radius:.375rem;margin:0 .35rem .35rem 0;padding:.15rem .55rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem;display:inline-block}.table{border-collapse:collapse;width:100%;font-size:.9rem}.table th{text-align:left;text-transform:uppercase;letter-spacing:.03em;color:var(--gray-500);background:var(--gray-50);border-bottom:1px solid var(--gray-200);padding:.6rem .75rem;font-size:.75rem;font-weight:600}.table td{border-bottom:1px solid var(--gray-100);vertical-align:top;padding:.7rem .75rem}.table.fixed{table-layout:fixed}.table.fixed .source-detail td{overflow-wrap:anywhere}.table.compact td,.table.compact th{padding:.45rem .6rem}.table.clickable tbody tr{cursor:pointer}.table.clickable tbody tr:hover,.source-row:hover{background:var(--gray-50)}.num{font-variant-numeric:tabular-nums;text-align:right!important}.row-actions{text-align:right;white-space:nowrap}.row-actions>*+*{margin-left:.35rem}.source-row.disabled td{color:var(--gray-500)}.source-detail>td{background:var(--gray-50);padding:1.25rem .75rem}.detail-grid{grid-template-columns:minmax(0,1fr) minmax(0,1.4fr);gap:2rem;display:grid}.detail-grid h4{text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);margin:0 0 .4rem;font-size:.75rem}.detail-grid h4:not(:first-child){margin-top:1rem}.notice{background:var(--warning-tint);color:var(--warning);border-radius:.5rem;align-items:center;gap:.5rem;margin-bottom:1rem;padding:.6rem .9rem;font-size:.9rem;display:flex}ul.plain{list-style:none}ul.plain li{word-break:break-all;padding:.15rem 0;font-size:.85rem}.pager{justify-content:flex-end;align-items:center;gap:1rem;margin-top:1rem;display:flex}.feed-day+.feed-day{margin-top:1.25rem}.feed-day-title{text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);border-bottom:1px solid var(--gray-200);padding-bottom:.5rem;font-size:.8rem}.feed{list-style:none}.feed-item{border-bottom:1px solid var(--gray-100);cursor:pointer;border-radius:.375rem;align-items:flex-start;gap:.9rem;padding:.8rem .5rem;display:flex}.feed-item:hover{background:var(--gray-50)}.feed-icon{background:var(--primary-tint);width:34px;height:34px;color:var(--primary);border-radius:.5rem;flex:none;place-items:center;display:grid}.feed-icon.kind-record{background:var(--teal-tint);color:var(--teal-dark)}.feed-icon.kind-page,.feed-icon.kind-feed{background:var(--accent-tint);color:var(--accent-dark)}.feed-main{flex:1;min-width:0}.feed-title{color:var(--gray-800);align-items:center;gap:.5rem;font-weight:600;display:flex}.feed-meta{color:var(--gray-500);margin-top:.2rem;font-size:.83rem}.feed-time{color:var(--gray-400);white-space:nowrap;font-size:.8rem}.split{align-items:flex-start;gap:1.5rem;display:flex}.grow{flex:1;min-width:0}.type-list{flex:none;width:250px;padding:.75rem;position:sticky;top:1rem}.type-list button{width:100%;font:inherit;text-align:left;cursor:pointer;color:var(--gray-700);background:0 0;border:0;border-radius:.375rem;justify-content:space-between;padding:.45rem .65rem;font-size:.88rem;display:flex}.type-list button:hover{background:var(--gray-100)}.type-list button.active{background:var(--primary-tint);color:var(--primary);font-weight:600}.type-group{text-transform:uppercase;letter-spacing:.04em;color:var(--gray-400);padding:.75rem .65rem .25rem;font-size:.7rem}.count{color:var(--gray-400);font-variant-numeric:tabular-nums}.drawer-backdrop{z-index:50;background:#11182759;justify-content:flex-end;display:flex;position:fixed;inset:0}.drawer{background:#fff;flex-direction:column;width:min(720px,92vw);height:100%;animation:.18s ease-out slide-in;display:flex;box-shadow:-8px 0 30px #00000026}@keyframes slide-in{0%{opacity:0;transform:translate(40px)}}.drawer-header{border-bottom:1px solid var(--gray-200);border-top:4px solid var(--primary);justify-content:space-between;gap:1rem;padding:1.25rem 1.5rem;display:flex}.drawer-header h2{color:var(--primary);font-size:1.2rem}.drawer-subtitle{color:var(--gray-500);word-break:break-all;margin-top:.25rem;font-size:.85rem}.drawer-body{flex:1;padding:1.25rem 1.5rem;overflow-y:auto}.source-link{align-items:center;gap:.25rem;display:inline-flex}.section-title{text-transform:uppercase;letter-spacing:.04em;color:var(--gray-500);margin:1.5rem 0 .6rem;font-size:.8rem}.hint{color:var(--gray-500);margin-bottom:.75rem;font-size:.85rem}.facts{grid-template-columns:170px minmax(0,1fr);gap:.45rem 1rem;font-size:.9rem;display:grid}.facts dt{color:var(--gray-500)}.facts dd{color:var(--gray-900);min-width:0}.changed-field dt,.changed-field dd{background:var(--accent-tint)}.record-status{align-items:center;gap:.75rem;font-size:.85rem;display:flex}.timeline{border-left:2px solid var(--gray-200);margin-left:.4rem;list-style:none}.timeline li{padding:0 0 1.25rem 1.1rem;position:relative}.timeline li:before{content:"";border:2px solid var(--primary);background:#fff;border-radius:50%;width:12px;height:12px;position:absolute;top:4px;left:-7px}.timeline-head{margin-bottom:.5rem;font-size:.88rem}.state{color:var(--gray-500);align-items:center;gap:.5rem;padding:1.5rem 0;display:flex}.state.error{color:var(--danger)}.state.empty{text-align:center;padding:2.5rem 1rem;line-height:1.6;display:block}.spin{animation:1s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.muted{color:var(--gray-500)}.small{font-size:.8rem}.strong{color:var(--gray-800);font-weight:600}.mono{font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.8rem}.break{word-break:break-all}.pre{white-space:pre-wrap}.json{background:var(--gray-50);border:1px solid var(--gray-200);white-space:pre-wrap;word-break:break-word;border-radius:.375rem;padding:.5rem .65rem;font-family:ui-monospace,SFMono-Regular,Menlo,monospace;font-size:.78rem}
