:root{color:#182127;background:#f5f7f4;font-family:Inter,ui-sans-serif,system-ui,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}*{box-sizing:border-box}body{margin:0}button,input,select,textarea{font:inherit}button{display:inline-flex;min-height:38px;align-items:center;justify-content:center;gap:8px;border:1px solid #172127;border-radius:6px;background:#172127;color:#fff;padding:8px 13px;cursor:pointer}button:disabled{cursor:not-allowed;opacity:.55}input,select,textarea{width:100%;border:1px solid #cfd8cf;border-radius:6px;background:#fff;color:#172127;padding:10px 12px}textarea{min-height:130px;resize:vertical;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace}label{display:grid;gap:6px}label span{color:#52615a;font-size:12px;font-weight:800;text-transform:uppercase}.login-shell{display:grid;min-height:100vh;place-items:center;background:#f5f7f4}.login-panel,.panel,.metrics article,.modal-panel{border:1px solid #dce3da;border-radius:8px;background:#fff;box-shadow:0 8px 28px #161f2712}.login-panel{display:grid;width:min(420px,calc(100vw - 32px));gap:14px;padding:28px}.login-panel h1,.topbar h1,.panel h2,.modal-panel h2{margin:0}.app-shell{display:grid;min-height:100vh;grid-template-columns:minmax(236px,280px) minmax(0,1fr);transition:grid-template-columns .22s ease}.app-shell.sidebar-collapsed{grid-template-columns:84px 1fr}.sidebar{position:sticky;top:0;display:flex;min-width:0;height:100vh;flex-direction:column;overflow:hidden;border-right:1px solid #dce3da;background:#1f2930;color:#f8faf8;padding:20px;transition:padding .22s ease}.brand{display:flex;align-items:center;justify-content:space-between;gap:10px;margin-bottom:26px;font-weight:800}.brand-mark{display:flex;min-width:0;align-items:center;gap:10px}.brand-mark span,.logout-button span{overflow:hidden;white-space:nowrap;transition:opacity .16s ease,width .22s ease}.sidebar-toggle,.logout-button{border-color:#ffffff24;background:#ffffff14;color:#fff}.sidebar-toggle{width:38px;flex:0 0 38px;padding:0}.app-shell.sidebar-collapsed .sidebar{padding:20px 14px}.app-shell.sidebar-collapsed .brand{justify-content:center}.app-shell.sidebar-collapsed .brand-mark span,.app-shell.sidebar-collapsed .logout-button span{width:0;opacity:0;pointer-events:none}.app-shell.sidebar-collapsed .product-form,.app-shell.sidebar-collapsed .product-list,.app-shell.sidebar-collapsed .brand-mark{display:none}.product-form{display:grid;grid-template-columns:1fr 42px;gap:8px;margin-bottom:18px}.product-form button,.icon-button,.actions button{width:38px;padding:0}.product-list{display:grid;gap:8px;min-height:0;overflow:auto}.product-list button{justify-content:flex-start;border:1px solid transparent;background:transparent;color:inherit;text-align:left}.product-list button.selected{border-color:#84b89d;background:#2d3b43}.logout-button{justify-content:flex-start;margin-top:auto;width:100%}.app-shell.sidebar-collapsed .logout-button{justify-content:center;padding:0}.content{display:grid;min-width:0;gap:20px;align-content:start;padding:24px}.topbar{display:flex;align-items:center;justify-content:space-between;gap:20px}.topbar p,.panel-header p,.modal-header p{margin:6px 0 0;color:#64716b}.topbar p{word-break:break-all}.secret-row{display:flex;flex-wrap:wrap;gap:10px;align-items:center;margin-top:10px}.secret-row code{max-width:min(620px,100%);overflow-wrap:anywhere;border:1px solid #dce3da;border-radius:6px;background:#fff;color:#384840;padding:8px 10px;font-size:13px}.topbar-actions{display:flex;flex-wrap:wrap;gap:10px;justify-content:flex-end}.secondary-button{border-color:#cfd8cf;background:#fff;color:#172127}.metrics{display:grid;grid-template-columns:repeat(4,minmax(140px,1fr));gap:14px}.metrics article{padding:16px}.metrics span{display:block;color:#64716b;font-size:12px;font-weight:800;text-transform:uppercase}.metrics strong{display:block;margin-top:6px;font-size:28px}.work-grid{display:grid;grid-template-columns:minmax(0,1.08fr) minmax(340px,.92fr);gap:20px;align-items:start}.panel{min-width:0;padding:18px}.panel-header{display:flex;align-items:flex-start;justify-content:space-between;gap:14px;margin-bottom:14px}.job-list{display:grid;gap:10px}.job-row{display:grid;grid-template-columns:minmax(0,1fr) auto;grid-template-areas:"title status" "meta actions";gap:12px;align-items:center;border:1px solid #dfe6dd;border-radius:8px;background:#fbfcfa;padding:14px;animation:rise-in .18s ease both;transition:border-color .16s ease,background-color .16s ease,transform .16s ease}.job-row:hover,.selected-job{border-color:#7eb498;background:#f3faf5}.job-row:hover{transform:translateY(-1px)}.job-title{grid-area:title;display:flex;min-width:0;gap:10px}.job-title>div{min-width:0}.job-title strong,.job-title span,.job-title em{display:block;overflow-wrap:anywhere}.job-title span,.run-meta{color:#64716b;font-size:13px}.job-title em{color:#b42318;font-style:normal}.run-meta{grid-area:meta;display:grid;gap:6px}.run-meta span{display:flex;align-items:center;gap:6px}.actions{grid-area:actions;display:flex;flex-wrap:wrap;gap:6px;justify-content:flex-end;min-width:0}.status{grid-area:status;display:inline-flex;width:fit-content;align-items:center;border-radius:999px;padding:4px 9px;font-size:12px;font-weight:800;text-transform:uppercase}.status.active,.status.success{background:#dff3e8;color:#146c43}.status.paused,.status.failed{background:#ffe6e2;color:#b42318}table{width:100%;border-collapse:collapse;table-layout:fixed}th,td{border-bottom:1px solid #e4e9e1;padding:12px 10px;text-align:left;vertical-align:top}th{color:#52615a;font-size:12px;text-transform:uppercase}td:last-child{max-width:320px;overflow-wrap:anywhere}.empty-state{border:1px dashed #cfd8cf;border-radius:8px;color:#64716b;padding:18px;text-align:center}.skeleton-row{display:grid;gap:10px;border:1px solid #dfe6dd;border-radius:8px;background:#fbfcfa;padding:14px}.skeleton-row span{position:relative;display:block;height:13px;overflow:hidden;border-radius:999px;background:#e8eee5}.skeleton-row span:nth-child(1){width:62%}.skeleton-row span:nth-child(2){width:84%}.skeleton-row span:nth-child(3){width:46%}.skeleton-row span:after{position:absolute;top:0;right:0;bottom:0;left:0;content:"";animation:shimmer 1.2s infinite;background:linear-gradient(90deg,transparent,rgba(255,255,255,.82),transparent);transform:translate(-100%)}.modal-backdrop{position:fixed;top:0;right:0;bottom:0;left:0;display:grid;place-items:center;overflow:auto;background:#121c2175;padding:24px;animation:fade-in .16s ease both}.modal-panel{width:min(760px,100%);max-height:calc(100vh - 48px);overflow:auto;padding:20px;animation:modal-in .18s ease both}.modal-header,.modal-actions{display:flex;align-items:flex-start;justify-content:space-between;gap:12px}.form-grid{display:grid;grid-template-columns:1fr 1fr;gap:14px;margin:18px 0}.full-width,.schedule-builder{grid-column:1 / -1}.schedule-builder{display:grid;grid-template-columns:repeat(2,minmax(160px,1fr));gap:12px}.cron-preview{display:block;grid-column:1 / -1;border:1px solid #d7ded5;border-radius:6px;background:#f5f8f4;color:#3b4a42;padding:10px 12px;font-family:ui-monospace,SFMono-Regular,Menlo,Consolas,monospace;font-size:13px}.modal-actions{justify-content:flex-end}@media(max-width:1080px){.app-shell,.work-grid,.metrics,.form-grid,.schedule-builder{grid-template-columns:1fr}.sidebar{position:relative;height:auto;border-right:0}.app-shell.sidebar-collapsed{grid-template-columns:1fr}.app-shell.sidebar-collapsed .sidebar{height:72px;overflow:hidden}.job-row{grid-template-columns:1fr;grid-template-areas:"title" "status" "meta" "actions";padding-right:14px}.job-row>.status{position:static}.topbar{align-items:flex-start;flex-direction:column}}@media(max-width:680px){.content{padding:16px}.topbar-actions,.modal-actions{width:100%}.topbar-actions button,.modal-actions button{flex:1}.panel-header{flex-direction:column}.logs-panel{overflow-x:auto}}@keyframes shimmer{to{transform:translate(100%)}}@keyframes rise-in{0%{opacity:0;transform:translateY(4px)}}@keyframes fade-in{0%{opacity:0}}@keyframes modal-in{0%{opacity:0;transform:translateY(8px) scale(.985)}}
