:root{font-family:Inter,-apple-system,BlinkMacSystemFont,"SF Pro Display","Segoe UI",sans-serif;color:#171717;background:#f4f1ea;line-height:1.45}*{box-sizing:border-box}body{margin:0}.top{height:68px;padding:0 28px;display:flex;align-items:center;justify-content:space-between;background:rgba(255,255,255,.86);backdrop-filter:blur(16px);border-bottom:1px solid #ddd6c8;position:sticky;top:0;z-index:10}.brand{font-size:19px;color:#171717;text-decoration:none;letter-spacing:-.03em}.brand strong{color:#a67819}.top nav{display:flex;gap:18px;align-items:center}.top nav a,.linkish{color:#615a50;text-decoration:none;background:none;border:0;font:inherit;cursor:pointer}.inline{display:inline}.shell{max-width:1500px;margin:0 auto;padding:32px}.auth-card{max-width:460px;margin:9vh auto;padding:38px;background:#fff;border:1px solid #ddd6c8;border-radius:24px;box-shadow:0 24px 80px rgba(68,50,20,.10)}h1,h2,h3,p{margin-top:0}h1{font-size:36px;letter-spacing:-.045em}h2{letter-spacing:-.025em}.eyebrow{font-size:11px;letter-spacing:.18em;font-weight:800;color:#a67819}.stack,.grid-form{display:grid;gap:16px}.stack label,.grid-form label{display:grid;gap:7px;font-size:13px;font-weight:700;color:#595248}.stack input,.grid-form input{width:100%;padding:12px 13px;border:1px solid #d7d0c4;border-radius:11px;background:#fff;font:inherit}.primary,.danger,.mini{border:0;border-radius:11px;padding:12px 16px;font-weight:800;cursor:pointer}.primary{background:#171717;color:#fff}.danger{background:#9c2c22;color:#fff}.mini{padding:7px 10px;font-size:12px}.notice,.error{padding:13px 16px;border-radius:12px;margin-bottom:18px}.notice{background:#e7f5e9;color:#225b2d}.error{background:#fde9e6;color:#8a241c}.admin-title,.panel-head{display:flex;justify-content:space-between;align-items:center;gap:20px}.admin-grid{display:grid;grid-template-columns:260px minmax(0,1fr);gap:22px;margin-top:24px}.sidebar,.panel{background:#fff;border:1px solid #ddd6c8;border-radius:18px}.sidebar{padding:14px;height:max-content;position:sticky;top:92px}.sidebar h3{padding:8px 10px;margin:0}.user-row{display:flex;justify-content:space-between;align-items:center;padding:11px 10px;border-radius:11px;text-decoration:none;color:#222}.user-row:hover,.user-row.active{background:#f1ede4}.user-row span:first-child{display:grid}.user-row small{color:#8b8378}.dot{width:9px;height:9px;border-radius:50%}.dot.on{background:#32a852}.dot.off{background:#c84439}.create-box{margin-top:12px;border-top:1px solid #e4ddd1;padding:13px 8px}.create-box summary{cursor:pointer;font-weight:800}.compact{margin-top:14px}.panel{padding:24px;margin-bottom:22px}.pill{display:inline-flex;padding:7px 10px;border:1px solid #d9d0bf;border-radius:999px;color:#665e52;font-size:12px;background:#faf8f3}.metrics{display:grid;grid-template-columns:repeat(3,1fr);gap:12px;margin:22px 0}.metrics>div{padding:15px;border-radius:13px;background:#f6f2ea;display:grid;gap:5px}.metrics span{font-size:12px;color:#81796e}.metrics strong{font-size:20px}.grid-form{grid-template-columns:repeat(2,minmax(0,1fr))}.grid-form .span{grid-column:1/-1}.check{display:flex!important;align-items:center;gap:8px!important;font-weight:600!important}.check input{width:auto!important}.key-state{display:flex;flex-wrap:wrap;gap:8px;margin:18px 0}.key-state span{font-size:12px;padding:6px 9px;background:#f2efe8;border-radius:999px}.hint{font-size:13px;color:#71695e;margin-top:16px}.danger-zone{border-color:#e9bbb5}.full{margin-top:22px}.table-wrap{overflow:auto}table{width:100%;border-collapse:collapse;font-size:13px}th,td{text-align:left;padding:11px;border-bottom:1px solid #eee8dd;vertical-align:top}th{color:#746c61;font-size:11px;text-transform:uppercase;letter-spacing:.08em}.status{padding:4px 7px;border-radius:999px;background:#eee}.status.completed{background:#e5f4e8;color:#276436}.status.failed,.status.error{background:#fde5e2;color:#90261d}.status.running,.status.queued,.status.processing{background:#fff1ce;color:#7d5b08}.empty{text-align:center;padding:60px}.auth-card p{color:#6d655a}@media(max-width:900px){.shell{padding:18px}.admin-grid{grid-template-columns:1fr}.sidebar{position:static}.grid-form{grid-template-columns:1fr}.metrics{grid-template-columns:1fr}.admin-title,.panel-head{align-items:flex-start;flex-direction:column}}

.templates-hero{display:flex;justify-content:space-between;align-items:flex-start;gap:24px;margin-bottom:26px}.templates-hero h1{margin-bottom:7px}.templates-hero p{color:#71695e}.secondary{display:inline-flex;align-items:center;justify-content:center;border:1px solid #d8d0c2;background:#fff;color:#554e44;border-radius:11px;padding:11px 15px;font-weight:800;text-decoration:none;cursor:pointer}.templates-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(330px,1fr));gap:18px}.template-card,.templates-empty,.launch-card,.run-card,.workflow-result{background:#fff;border:1px solid #ddd6c8;border-radius:20px;padding:23px;box-shadow:0 13px 40px rgba(68,50,20,.055)}.template-card-head{display:flex;justify-content:space-between;gap:16px;align-items:flex-start}.template-card h2{margin-bottom:0}.template-kind{font-size:11px;font-weight:850;padding:6px 9px;border-radius:999px;background:#e9f2ec;color:#2b6a4a}.template-description{color:#756d62;min-height:42px}.template-summary{display:grid;grid-template-columns:repeat(2,minmax(0,1fr));gap:8px;margin:17px 0}.template-summary>div{display:grid;gap:2px;padding:10px 11px;border-radius:11px;background:#f5f1e8}.template-summary span{font-size:11px;color:#827a6e}.template-summary strong{font-size:13px}.template-actions{display:flex;align-items:center;flex-wrap:wrap;gap:9px}.template-actions form{margin:0}.danger-link{border:0;background:transparent;color:#9a3028;font:inherit;font-weight:800;cursor:pointer;padding:9px 7px}.templates-empty{grid-column:1/-1;text-align:center;padding:65px 25px}.templates-empty p{max-width:620px;margin:0 auto 20px;color:#71695e}.templates-history{margin-top:24px}.run-status{display:inline-flex;border-radius:999px;padding:5px 9px;font-size:11px;font-weight:800;background:#eee}.status-completed{background:#e5f4e8;color:#276436}.status-running,.status-queued,.status-cancel_requested{background:#fff1ce;color:#7d5b08}.status-error,.status-cancelled{background:#fde5e2;color:#90261d}.launch-shell,.run-shell{max-width:1050px;margin:0 auto}.back-link{display:inline-block;margin-bottom:16px;color:#615a50;text-decoration:none;font-weight:750}.launch-card{padding:30px}.launch-card>p{color:#71695e}.launch-summary{grid-template-columns:repeat(5,minmax(0,1fr))}.template-run-form textarea{width:100%;padding:14px;border:1px solid #d7d0c4;border-radius:12px;background:#fff;font:inherit;resize:vertical}.template-source-actions{display:flex;justify-content:space-between;align-items:center;gap:15px;color:#797166;font-size:12px}.big-action{font-size:16px;padding:15px 20px}.run-progress-head{display:flex;justify-content:space-between;align-items:center;gap:16px}.workflow-steps{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:23px 0}.workflow-steps span{padding:12px;border-radius:11px;background:#f0ece4;color:#776f64;font-size:12px;font-weight:800;text-align:center}.workflow-steps span.active{background:#2f6656;color:#fff}.error-text{color:#9a3028}.workflow-result{margin-top:20px}.workflow-result video{width:100%;max-height:650px;border-radius:14px;background:#111;margin:12px 0 17px}
@media(max-width:900px){.templates-hero{flex-direction:column}.launch-summary{grid-template-columns:repeat(2,minmax(0,1fr))}.workflow-steps{grid-template-columns:1fr 1fr}}
@media(max-width:600px){.templates-grid{grid-template-columns:1fr}.template-summary,.launch-summary{grid-template-columns:1fr}.run-progress-head{align-items:flex-start;flex-direction:column}.workflow-steps{grid-template-columns:1fr}}

.admin-title-actions{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.admin-open-software{display:inline-flex;align-items:center;justify-content:center;text-decoration:none;background:#2f6656}.admin-open-software:hover{background:#285748}.admin-software-link{font-weight:800!important;color:#2f6656!important}.factory-admin-panel-button{display:flex;align-items:center;width:100%;padding:10px 12px;border-radius:10px;color:#2f6656;text-decoration:none;font-weight:800}.factory-admin-panel-button:hover{background:rgba(47,102,86,.08)}
@media(max-width:900px){.admin-title-actions{align-items:flex-start}}


/* v0.11: fixed, no-scroll login screen on desktop. */
body.auth-page{
  height:100vh;
  height:100svh;
  overflow:hidden;
}
.auth-page .top{
  height:58px;
  min-height:58px;
  padding:0 24px;
}
.auth-page .shell{
  height:calc(100vh - 58px);
  height:calc(100svh - 58px);
  max-width:none;
  margin:0;
  padding:16px;
  display:grid;
  place-items:center;
  overflow:hidden;
}
.auth-page .auth-card{
  width:min(420px,calc(100vw - 32px));
  max-width:420px;
  margin:0;
  padding:26px 28px 28px;
  border-radius:20px;
  box-shadow:0 20px 64px rgba(68,50,20,.09);
}
.auth-page .auth-card .eyebrow{margin-bottom:10px}
.auth-page .auth-card h1{
  margin-bottom:14px;
  font-size:31px;
  line-height:1.08;
}
.auth-page .auth-card>p:not(.eyebrow){
  margin-bottom:18px;
  font-size:14px;
  line-height:1.45;
}
.auth-page .auth-card .stack{gap:12px}
.auth-page .auth-card .stack label{gap:5px;font-size:12px}
.auth-page .auth-card .stack input{height:46px;padding:10px 12px}
.auth-page .auth-card .primary{height:46px;padding:10px 15px}
.auth-page .notice,.auth-page .error{
  position:fixed;
  top:70px;
  left:50%;
  z-index:20;
  width:min(620px,calc(100vw - 32px));
  margin:0;
  transform:translateX(-50%);
}
@media(max-height:680px){
  .auth-page .top{height:50px;min-height:50px}
  .auth-page .shell{height:calc(100svh - 50px);padding:10px}
  .auth-page .auth-card{padding:18px 22px 20px}
  .auth-page .auth-card h1{font-size:27px;margin-bottom:10px}
  .auth-page .auth-card>p:not(.eyebrow){margin-bottom:12px}
  .auth-page .auth-card .stack{gap:8px}
  .auth-page .auth-card .stack input,.auth-page .auth-card .primary{height:41px}
}
@media(max-width:600px){
  body.auth-page{overflow:auto}
  .auth-page .top{height:54px;min-height:54px;padding:0 16px}
  .auth-page .shell{min-height:calc(100svh - 54px);height:auto;padding:14px}
}

/* v0.26: lighter ivory background + modern bold sans typography */
:root{
  font-family:Inter,"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
  color:#070809;
  background:#F1E8D9;
}
body{background:#F1E8D9;color:#070809;font-family:Inter,"SF Pro Text","SF Pro Display",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif}
.top{background:rgba(255,253,249,.88);border-bottom-color:rgba(7,8,9,.14)}
.auth-card,.sidebar,.panel,.template-card,.templates-empty,.launch-card,.run-card,.workflow-result{background:rgba(255,253,249,.72);border-color:rgba(7,8,9,.14)}
.stack input,.grid-form input,.template-run-form textarea,.secondary{background:rgba(255,253,249,.88);border-color:rgba(7,8,9,.18);color:#070809}
.metrics>div,.template-summary>div,.workflow-steps span,.key-state span{background:rgba(7,8,9,.055)}
h1,h2,h3,.brand,.primary,.secondary,.mini,.user-row,.template-card h2,.admin-title,.panel-head{
  font-family:Inter,"SF Pro Display","SF Pro Text",-apple-system,BlinkMacSystemFont,"Segoe UI",sans-serif;
}
h1,h2,h3{font-weight:800;letter-spacing:-.04em}
.brand{font-weight:750;letter-spacing:-.035em}
.brand strong{color:#070809}
.eyebrow{color:#070809;font-weight:800}
.primary,.admin-open-software{background:#070809;color:#F1E8D9}
.primary:hover,.admin-open-software:hover{background:#151718}
.top nav a,.linkish,.user-row,.hint,.template-description,.templates-hero p,.back-link,.auth-card p{color:#070809}
