:root{--bg:#ffffff;--fg:#0f172a;--muted:#64748b;--border:#e2e8f0;--accent:#2563eb;--accent-hover:#1d4ed8;--danger:#dc2626;--success:#059669;--warn:#d97706;--radius:6px;--shadow-sm:0 1px 2px rgba(0,0,0,0.04);--shadow-md:0 4px 6px rgba(0,0,0,0.05)}*{box-sizing:border-box;margin:0;padding:0}body,html{font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;color:var(--fg);background:var(--bg);line-height:1.5}a{color:var(--accent);text-decoration:none}a:hover{text-decoration:underline}.app-container{min-height:100vh;display:flex;flex-direction:column}.app-body{display:flex;flex:1 1;min-height:0}.app-body>main{flex:1 1;padding:32px;overflow-y:auto}.app-sidebar{position:relative;display:flex;flex-direction:column;background:#0d1526;border-right:1px solid #1e293b;flex-shrink:0;width:56px;transition:width .22s ease}.app-sidebar.app-sidebar--open{width:248px}.sidebar-header{display:flex;align-items:center;gap:.5rem;min-height:56px;padding:.75rem .85rem .5rem;border-bottom:1px solid rgba(30,41,59,.6)}.sidebar-product{display:flex;flex-direction:column;min-width:0;flex:1 1}.app-sidebar.app-sidebar--open .sidebar-product-mark,.app-sidebar:not(.app-sidebar--open) .sidebar-link-label,.app-sidebar:not(.app-sidebar--open) .sidebar-product,.app-sidebar:not(.app-sidebar--open) .sidebar-section-label{display:none}.sidebar-product-name{font-family:EB Garamond,Georgia,serif;font-weight:700;font-size:1rem;color:#F5C400;line-height:1.15;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.sidebar-product-tagline{margin-top:.15rem;color:#64748b;font-size:.7rem;letter-spacing:.04em;white-space:nowrap}.sidebar-product-mark{display:flex;align-items:center;justify-content:center;width:32px;height:32px;margin:0 auto;border-radius:8px;background:rgba(245,196,0,.12);color:#F5C400;font-family:EB Garamond,Georgia,serif;font-weight:700;font-size:.85rem;letter-spacing:.02em}.sidebar-mobile-toggle{display:none}.sidebar-mobile-close{display:none;background:none;border:none;color:#94a3b8;cursor:pointer;padding:.35rem;border-radius:6px;transition:color .15s,background .15s}.sidebar-mobile-close:hover{color:#e2e8f0;background:rgba(148,163,184,.12)}.sidebar-primary{display:flex;align-items:center;gap:.55rem;margin:.85rem .65rem .35rem;padding:.55rem .7rem;border-radius:.5rem;background:linear-gradient(135deg,#F5C400,#ffd840);color:#0d1526;font-size:.88rem;font-weight:600;text-decoration:none;white-space:nowrap;position:relative;transition:filter .15s,transform .05s}.sidebar-primary:hover{filter:brightness(1.05);text-decoration:none}.sidebar-primary:active{transform:translateY(1px)}.app-sidebar:not(.app-sidebar--open) .sidebar-primary{justify-content:center;padding:.55rem;margin:.85rem .5rem .35rem}.sidebar-primary .sidebar-link-icon svg{stroke:currentColor}.sidebar-nav{display:flex;flex-direction:column;gap:1rem;padding:.6rem .45rem 1rem;flex:1 1;overflow-y:auto}.sidebar-section{display:flex;flex-direction:column;gap:.2rem}.sidebar-section-label{padding:.35rem .65rem .25rem;color:#64748b;font-size:.68rem;font-weight:700;letter-spacing:.08em;text-transform:uppercase}.sidebar-link{position:relative;display:flex;align-items:center;gap:.7rem;min-height:38px;padding:.55rem .65rem;border-radius:.45rem;color:#94a3b8;font-size:.9rem;font-weight:500;text-decoration:none;white-space:nowrap;transition:background .15s,color .15s}.app-sidebar:not(.app-sidebar--open) .sidebar-link{justify-content:center;padding:.55rem}.sidebar-link-icon{display:inline-flex;align-items:center;justify-content:center;width:18px;height:18px;flex:0 0 18px}.sidebar-link-icon svg{width:18px;height:18px;fill:none;stroke:currentColor;stroke-width:1.7;stroke-linecap:round;stroke-linejoin:round}.sidebar-link-label{overflow:hidden;text-overflow:ellipsis}.sidebar-link:hover{background:rgba(245,196,0,.08);color:#e2e8f0;text-decoration:none}.sidebar-link--active{background:rgba(245,196,0,.12);color:#F5C400;box-shadow:inset 3px 0 0 #F5C400}.sidebar-tooltip{position:absolute;left:calc(100% + .5rem);top:50%;transform:translateY(-50%);background:#0d1526;color:#e2e8f0;font-size:.78rem;padding:.35rem .55rem;border-radius:6px;border:1px solid #1e293b;white-space:nowrap;pointer-events:none;opacity:0;z-index:80;transition:opacity .12s ease;box-shadow:0 4px 12px rgba(0,0,0,.35)}.app-sidebar:not(.app-sidebar--open) .sidebar-link:focus-visible .sidebar-tooltip,.app-sidebar:not(.app-sidebar--open) .sidebar-link:hover .sidebar-tooltip,.app-sidebar:not(.app-sidebar--open) .sidebar-primary:focus-visible .sidebar-tooltip,.app-sidebar:not(.app-sidebar--open) .sidebar-primary:hover .sidebar-tooltip{opacity:1}.sidebar-toggle{display:flex;align-items:center;gap:.4rem;margin:auto .5rem .65rem;padding:.45rem .6rem;background:none;border:1px solid transparent;border-radius:.45rem;color:#64748b;font-size:.78rem;cursor:pointer;transition:color .15s,background .15s,border-color .15s}.app-sidebar:not(.app-sidebar--open) .sidebar-toggle{justify-content:center;padding:.45rem}.sidebar-toggle:hover{color:#F5C400;background:rgba(245,196,0,.06);border-color:rgba(245,196,0,.18)}.sidebar-toggle-label{font-weight:500}.sidebar-backdrop{display:none}@media (max-width:1080px){.sidebar-mobile-toggle{position:fixed;left:.85rem;bottom:1rem;z-index:60;display:inline-flex;align-items:center;justify-content:center;width:44px;height:44px;background:#0d1526;border:1px solid #1e293b;border-radius:999px;color:#F5C400;cursor:pointer;box-shadow:0 6px 16px rgba(0,0,0,.35)}.sidebar-mobile-toggle:hover{background:#131d33}.app-sidebar{position:fixed;top:0;left:0;height:100vh;z-index:70;width:280px;transform:translateX(-100%);transition:transform .22s ease;box-shadow:4px 0 20px rgba(0,0,0,.35)}.app-sidebar.app-sidebar--open{width:280px}.app-sidebar.app-sidebar--mobile-open{transform:translateX(0)}.sidebar-backdrop{display:block;position:fixed;inset:0;background:rgba(0,0,0,.5);z-index:65}.sidebar-mobile-close{display:inline-flex;align-items:center;justify-content:center}.sidebar-toggle{display:none}.app-sidebar.app-sidebar--open .sidebar-link,.app-sidebar:not(.app-sidebar--open) .sidebar-link{justify-content:flex-start;padding:.55rem .65rem}.app-sidebar.app-sidebar--open .sidebar-primary,.app-sidebar:not(.app-sidebar--open) .sidebar-primary{justify-content:flex-start;padding:.55rem .7rem;margin:.85rem .65rem .35rem}.app-sidebar.app-sidebar--open .sidebar-link-label,.app-sidebar:not(.app-sidebar--open) .sidebar-link-label{display:inline}.app-sidebar.app-sidebar--open .sidebar-section-label,.app-sidebar:not(.app-sidebar--open) .sidebar-section-label{display:block}.app-sidebar.app-sidebar--open .sidebar-product,.app-sidebar:not(.app-sidebar--open) .sidebar-product{display:flex}.app-sidebar .sidebar-tooltip,.app-sidebar.app-sidebar--open .sidebar-product-mark,.app-sidebar:not(.app-sidebar--open) .sidebar-product-mark{display:none}}.page-title{font-family:EB Garamond,Georgia,serif;font-size:28px;font-weight:600;margin-bottom:8px}.page-subtitle{color:var(--muted);margin-bottom:32px}.card{border:1px solid var(--border);padding:20px;box-shadow:var(--shadow-sm);margin-bottom:16px}.btn,.card{background:white;border-radius:var(--radius)}.btn{display:inline-block;padding:8px 16px;border:1px solid var(--border);color:var(--fg);cursor:pointer;font-size:14px;font-weight:500}.btn-primary{background:var(--accent);color:white;border-color:var(--accent)}.btn-primary:hover{background:var(--accent-hover);border-color:var(--accent-hover)}.btn-danger{background:var(--danger);color:white;border-color:var(--danger)}table{width:100%;border-collapse:collapse}td,th{padding:8px 12px;text-align:left;border-bottom:1px solid var(--border)}th{font-weight:600;color:var(--muted)}.badge{display:inline-block;padding:2px 8px;border-radius:999px;font-size:12px;font-weight:500}.badge-draft{background:#f1f5f9;color:#475569}.badge-running{background:#fef3c7;color:#92400e}.badge-complete{background:#d1fae5;color:#065f46}.badge-failed{background:#fee2e2;color:#991b1b}