:root{color-scheme:light;--paper: #ffffff;--tint: #f7f7f4;--sunk: #f1f1ed;--line: #e7e7e1;--line-2: #d8d8d0;--ink: #333834;--ink-2: #6b726c;--ink-3: #8e958f;--navy: #0d1b33;--volt: #6d9e36;--volt-ink: #4e7a22;--volt-soft: #f0f5e7;--ok: #3d7e96;--ok-soft: #edf4f7;--warn: #b07a22;--warn-soft: #faf2e4;--crit: #a9483c;--crit-soft: #faedea;--mono: "IBM Plex Mono", ui-monospace, Menlo, Consolas, monospace;--tabbar: 64px}*{box-sizing:border-box}html,body{margin:0}body{background:var(--paper);color:var(--ink);font-family:Archivo,Segoe UI,system-ui,sans-serif;font-size:16px;line-height:1.5;-webkit-font-smoothing:antialiased;-webkit-tap-highlight-color:transparent}h1,h2,h3{margin:0;font-weight:600;letter-spacing:-.01em;text-wrap:balance}p{margin:0}button,input,select{font:inherit;color:inherit}.mono{font-family:var(--mono);font-variant-numeric:tabular-nums}.eyebrow{font-family:var(--mono);font-size:11px;font-weight:500;letter-spacing:.12em;text-transform:uppercase;color:var(--ink-3)}.muted{color:var(--ink-2)}.small{font-size:13.5px}.top{position:sticky;top:0;z-index:5;background:var(--paper);border-bottom:1px solid var(--line);padding:calc(env(safe-area-inset-top) + 12px) 16px 12px;display:flex;align-items:center;justify-content:space-between;gap:12px}.brand{display:flex;align-items:center;gap:10px;min-width:0}.brand img{width:34px;height:34px;border-radius:50%;flex:none}.wordmark{font-family:Sora,Archivo,sans-serif;font-weight:800;color:var(--navy);font-size:17px;letter-spacing:-.01em}.brand .who{font-size:12.5px;color:var(--ink-2);line-height:1.2;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.page{max-width:880px;margin:0 auto;padding:18px 16px calc(var(--tabbar) + env(safe-area-inset-bottom) + 28px);display:flex;flex-direction:column;gap:18px}.tabbar{position:fixed;left:0;right:0;bottom:0;z-index:5;background:var(--paper);border-top:1px solid var(--line);display:flex;justify-content:space-around;padding-bottom:env(safe-area-inset-bottom)}.tabbar a{flex:1;height:var(--tabbar);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:3px;text-decoration:none;color:var(--ink-3);font-size:12px;font-weight:500}.tabbar a svg{width:22px;height:22px}.tabbar a[aria-current=page]{color:var(--volt-ink)}@media(min-width:900px){.tabbar{position:sticky;top:59px;bottom:auto;border-top:0;border-bottom:1px solid var(--line);justify-content:center;gap:8px;padding:0}.tabbar a{flex:none;flex-direction:row;height:46px;padding:0 14px;font-size:14.5px;border-bottom:2px solid transparent}.tabbar a svg{width:18px;height:18px}.tabbar a[aria-current=page]{border-bottom-color:var(--volt)}.page{padding-bottom:60px}}.head{display:flex;align-items:flex-end;justify-content:space-between;gap:12px;flex-wrap:wrap}.head h1{font-size:22px}.card{border:1px solid var(--line);border-radius:12px;background:var(--paper)}.card-pad{padding:14px 16px}.banner{font-size:13.5px;background:var(--warn-soft);color:#7a5418;border-radius:10px;padding:10px 12px}.error{font-size:14px;color:var(--crit)}.okmsg{font-size:14px;color:var(--ok)}.pill{display:inline-flex;align-items:center;gap:6px;font-family:var(--mono);font-size:11.5px;font-weight:500;padding:2px 9px;border-radius:20px;white-space:nowrap;line-height:1.6}.pill i{width:6px;height:6px;border-radius:50%;background:currentColor;flex:none}.t-ok{color:var(--ok);background:var(--ok-soft)}.t-go{color:var(--volt-ink);background:var(--volt-soft)}.t-warn{color:var(--warn);background:var(--warn-soft)}.t-crit{color:var(--crit);background:var(--crit-soft)}.t-mute{color:var(--ink-2);background:var(--sunk)}.tag{font-family:var(--mono);font-size:10.5px;color:var(--ink-3);border:1px solid var(--line-2);border-radius:5px;padding:0 5px;margin-left:6px;vertical-align:1px}.btn{display:inline-flex;align-items:center;justify-content:center;gap:6px;border:1px solid var(--line-2);background:var(--paper);border-radius:10px;padding:9px 14px;font-size:14.5px;font-weight:500;cursor:pointer;min-height:40px}.btn:hover{background:var(--tint)}.btn.primary{background:var(--volt-ink);border-color:var(--volt-ink);color:#fff}.btn.primary:hover{background:#426a1b}.btn.danger{color:var(--crit)}.btn.primary.danger-fill{background:var(--crit);border-color:var(--crit);color:#fff}.sr-only{position:absolute;width:1px;height:1px;overflow:hidden;clip:rect(0 0 0 0);white-space:nowrap}.lightbox .confirm{max-width:460px}.btn.small{padding:5px 10px;min-height:32px;font-size:13.5px}.btn:disabled{opacity:.55;cursor:default}:focus-visible{outline:2px solid var(--volt-ink);outline-offset:2px}.field{display:flex;flex-direction:column;gap:5px}.field label{font-size:13.5px;font-weight:500}.input{border:1px solid var(--line-2);border-radius:10px;background:var(--paper);padding:10px 12px;font-size:16px;min-height:44px;width:100%}.input.compact{padding:6px 8px;min-height:36px;font-size:15px}.stats{display:grid;grid-template-columns:repeat(4,1fr);gap:0;border:1px solid var(--line);border-radius:12px;overflow:hidden}.stat{padding:10px 12px;display:flex;flex-direction:column;gap:2px}.stat+.stat{border-left:1px solid var(--line)}.stat .n{font-family:var(--mono);font-size:22px;font-weight:500;line-height:1.1}.stat .n.crit{color:var(--crit)}.stat .l{font-size:12px;color:var(--ink-2);line-height:1.25}.daynav{display:flex;align-items:center;gap:6px}.daynav .d{font-family:var(--mono);font-size:14px;min-width:104px;text-align:center}.runs{display:flex;flex-direction:column}.run{display:grid;grid-template-columns:58px 1fr auto;gap:4px 12px;padding:12px 16px;border-top:1px solid var(--line);align-items:start}.run:first-child{border-top:0}.run .t{font-family:var(--mono);font-size:16px;font-weight:500;padding-top:1px}.run .who{font-weight:600}.run .load{font-size:13px;color:var(--ink-2)}.run .detail{grid-column:2 / 4;font-size:13px;color:var(--ink-2)}.run.needs{background:linear-gradient(90deg,var(--crit-soft),transparent 40%)}.run.quiet .who,.run.quiet .t{color:var(--ink-3)}.tw{overflow-x:auto}table{border-collapse:collapse;width:100%;font-size:14.5px}th{font-family:var(--mono);font-size:10.5px;font-weight:500;letter-spacing:.1em;text-transform:uppercase;color:var(--ink-3);text-align:left;padding:9px 12px;background:var(--tint);border-bottom:1px solid var(--line);white-space:nowrap}td{padding:10px 12px;border-bottom:1px solid var(--line);vertical-align:middle}tr:last-child td{border-bottom:0}td.num,th.num{text-align:right;font-family:var(--mono);font-variant-numeric:tabular-nums}td.time{font-family:var(--mono);white-space:nowrap}tr.me td{background:var(--volt-soft)}tr.me td:first-child{box-shadow:inset 3px 0 0 var(--volt)}tr.quiet td{color:var(--ink-3)}.you{font-family:var(--mono);font-size:10px;color:var(--volt-ink);margin-left:6px}.next{display:flex;flex-direction:column;gap:8px}.next .row{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.next .big{font-family:var(--mono);font-size:34px;font-weight:500;line-height:1}.next .load{font-size:15px}.login{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:24px 16px;background:var(--tint)}.login form{width:100%;max-width:360px;display:flex;flex-direction:column;gap:16px;background:var(--paper);border:1px solid var(--line);border-radius:16px;padding:26px 22px}.login .brand img{width:44px;height:44px}.login .wordmark{font-size:22px}.editor td{padding:8px}.editor .input.compact{width:auto}.editor input[type=number]{width:72px}.editor select{min-width:120px}.row-actions{display:flex;gap:6px;justify-content:flex-end;white-space:nowrap}.daypick{display:flex;gap:3px}.daypick button{width:30px;min-height:34px;padding:0;border-radius:6px;cursor:pointer;border:1px solid var(--line-2);background:var(--paper);color:var(--ink-3);font-family:var(--mono);font-size:11.5px}.daypick button:hover{background:var(--tint)}.daypick button[aria-pressed=true]{background:var(--volt-soft);border-color:var(--volt);color:var(--volt-ink);font-weight:600}tr.dirty td{background:var(--warn-soft)}.people td .input.compact{width:150px}.stack{display:flex;flex-direction:column;gap:12px}.inline{display:flex;gap:8px;align-items:center;flex-wrap:wrap}.inline.spread{justify-content:space-between;width:100%}.vanbig{display:flex;align-items:baseline;gap:12px}.vanbig .n{font-family:var(--mono);font-size:46px;font-weight:500;line-height:1;color:var(--volt-ink)}.vanbig .l{font-size:13.5px;color:var(--ink-2);line-height:1.35}.weekday{margin-top:10px}.weekday .input.compact{width:auto}.btn.camera{min-height:64px;font-size:16.5px;gap:10px;border-radius:14px}.steps{list-style:none;margin:0;padding:0;display:grid;grid-template-columns:repeat(3,1fr);gap:6px}.steps li{font-size:12px;color:var(--ink-3);padding-top:8px;border-top:3px solid var(--line);line-height:1.3}.steps li.on{color:var(--ink);border-top-color:var(--volt)}.qgrid{display:grid;grid-template-columns:1fr 1fr;gap:12px}textarea.input{resize:vertical;min-height:80px}.shot{display:block;width:100%;max-width:100%;aspect-ratio:4 / 3;object-fit:cover;border-radius:10px;border:1px solid var(--line);background:var(--sunk)}.shots{display:grid;grid-template-columns:1fr 1fr;gap:10px}.shotbox{display:flex;flex-direction:column;gap:6px;min-width:0}.shotactions{display:flex;gap:6px}.shotactions .btn{flex:1}.shotlink{display:flex;flex-direction:column;gap:4px;text-decoration:none}.logs{display:grid;grid-template-columns:repeat(auto-fill,minmax(300px,1fr));gap:14px}.counts{display:grid;grid-template-columns:repeat(4,1fr);gap:8px;margin:0}.counts div{display:flex;flex-direction:column;gap:1px}.counts dt{font-size:11.5px;color:var(--ink-2);line-height:1.2}.counts dd{margin:0;font-family:var(--mono);font-size:18px;font-weight:500}.logbtn{min-height:56px;font-size:16.5px;border-radius:14px}.logtable td{vertical-align:top}.logtable td .pill{margin-top:4px}.logtable td.comment{max-width:220px;min-width:140px;font-size:13.5px;color:var(--ink-2);white-space:normal}.thumbs{display:flex;flex-direction:column;gap:6px}.thumbgroup{display:flex;gap:4px}.thumb{width:52px;height:52px;padding:0;border:1px solid var(--line);border-radius:8px;background:var(--sunk);overflow:hidden;cursor:pointer;flex:none}.thumb img{width:100%;height:100%;object-fit:cover;display:block}.thumb.empty{display:inline-block;cursor:default;border-style:dashed}.lightbox{position:fixed;top:0;right:0;bottom:0;left:0;z-index:20;background:#0d1b33d1;display:flex;align-items:center;justify-content:center;padding:16px}.lightbox figure{margin:0;max-width:min(960px,100%);max-height:100%;display:flex;flex-direction:column;gap:10px;background:var(--paper);border-radius:12px;padding:10px}.lightbox img{max-width:100%;max-height:calc(100dvh - 120px);object-fit:contain;border-radius:8px}.lightbox figcaption{display:flex;justify-content:space-between;align-items:center;gap:10px;font-size:14px;padding:0 4px 2px}.kpis .stat{gap:3px}.kpis .stat .n{font-size:26px}.chart{position:relative;width:100%}.chart svg{display:block;overflow:visible}.chart .grid{stroke:var(--line);stroke-width:1}.chart .baseline{stroke:var(--line-2);stroke-width:1}.chart .axis{font-family:var(--mono);font-size:10.5px;fill:var(--ink-3)}.chart .val{font-family:var(--mono);font-size:12px;font-weight:500;fill:var(--ink)}.chart .col{fill:var(--volt)}.chart .col.partial{fill:var(--volt);fill-opacity:.45}.chart rect{cursor:pointer}.tip{position:absolute;transform:translate(-50%,-100%);pointer-events:none;background:var(--navy);color:#fff;border-radius:8px;padding:7px 10px;display:flex;flex-direction:column;gap:1px;font-size:12.5px;white-space:nowrap}.tip strong{font-weight:600}.pairs{display:grid;grid-template-columns:1fr 1fr;gap:10px 24px;margin:0}.pairs div{display:flex;flex-direction:column;gap:1px;border-top:1px solid var(--line);padding-top:8px}.pairs dt{font-size:12.5px;color:var(--ink-2)}.pairs dd{margin:0;font-size:15px}@media(max-width:520px){.pairs{grid-template-columns:1fr}}.meterrow{display:flex;justify-content:space-between;align-items:baseline;gap:10px;flex-wrap:wrap}.bignum{font-family:var(--mono);font-size:30px;font-weight:500;line-height:1}.meter{height:10px;border-radius:5px;background:var(--sunk);overflow:hidden}.meter span{display:block;height:100%;background:var(--volt);border-radius:5px}.banner.crit{background:var(--crit-soft);color:var(--crit)}.batches{list-style:none;margin:0;padding:0;display:flex;flex-direction:column;font-size:14px}.batches li{display:grid;grid-template-columns:52px 1fr auto;gap:10px;padding:7px 0;border-top:1px solid var(--line)}.up{color:var(--ok);font-family:var(--mono);font-size:13px}.down{color:var(--crit)}td .down{font-family:var(--mono)}.inlinebar{position:relative;width:110px;height:18px;background:var(--sunk);border-radius:4px;overflow:hidden}.inlinebar span{position:absolute;inset:0 auto 0 0;background:var(--line-2)}.inlinebar span.bad{background:#e3b9b2}.inlinebar em{position:relative;font-style:normal;font-family:var(--mono);font-size:12px;padding-left:6px;line-height:18px}.alerts{list-style:none;margin:0;padding:0}.alerts li{display:flex;gap:12px;padding:10px 14px;border-top:1px solid var(--line);font-size:14px;flex-wrap:wrap}.alerts li:first-child{border-top:0}.top .acct{display:inline-flex;align-items:center;gap:6px;font-size:14px;color:var(--ink-2);text-decoration:none;padding:6px 8px;border-radius:8px}.top .acct:hover,.top .acct[aria-current=page]{color:var(--volt-ink);background:var(--tint)}.top .acct svg{width:20px;height:20px}.lightbox .welcome{padding:18px;gap:12px;max-width:560px;width:100%;overflow-y:auto}.welcome pre{margin:0;white-space:pre-wrap;font-family:Archivo,sans-serif;font-size:14px;line-height:1.5;background:var(--tint);border-radius:10px;padding:12px 14px}.modebar{display:flex;justify-content:space-between;align-items:center;gap:10px;flex-wrap:wrap}.modebar.live{background:var(--ok-soft);color:var(--ok)}.btn.golive{border-color:var(--ok);color:var(--ok)}.h2s{font-size:17px}.fgrid{display:grid;grid-template-columns:repeat(auto-fill,minmax(220px,1fr));gap:12px 16px}.fgrid .wide{grid-column:1 / -1}.docs{display:flex;flex-direction:column}.docrow{display:flex;justify-content:space-between;align-items:center;gap:12px;padding:11px 0;border-top:1px solid var(--line);flex-wrap:wrap}.docrow:first-child{border-top:0}.check{display:grid;grid-template-columns:22px 1fr;gap:10px;align-items:start;font-size:14.5px;cursor:pointer}.check input{width:18px;height:18px;margin-top:2px;accent-color:var(--volt-ink)}.person{display:grid;grid-template-columns:84px 1fr;gap:16px;align-items:start}.avatar{width:84px;height:84px;border-radius:50%;object-fit:cover;border:1px solid var(--line);display:block}.avatar.empty{background:var(--sunk)}@media(max-width:520px){.person{grid-template-columns:1fr}}.nudge{display:flex;flex-direction:column;gap:3px;text-decoration:none;color:var(--ink);border-color:var(--volt);background:var(--volt-soft)}.namelink{color:var(--ink);text-decoration:underline;text-decoration-color:var(--line-2);text-underline-offset:3px}.namelink:hover{text-decoration-color:var(--volt)}.arrived{color:var(--ok)}.atwh{color:var(--volt-ink)}@media(max-width:520px){.stats{grid-template-columns:repeat(2,1fr)}.stat:nth-child(3){border-left:0}.stat:nth-child(n+3){border-top:1px solid var(--line)}.logs{grid-template-columns:1fr}}@media(prefers-reduced-motion:reduce){*{transition:none!important;animation:none!important}}.course-wrap{max-width:460px;margin-inline:auto;padding-inline:16px;padding-block:20px 48px;display:flex;flex-direction:column;gap:14px}.course-frame{width:100%;height:min(235vw,860px);max-height:86vh;border:0;display:block}.quiz{display:flex;flex-direction:column;gap:6px;border:1px solid var(--line, #d8dee8)}.quiz legend{font-weight:600;line-height:1.4;padding:0;margin-bottom:6px}.quiz label{display:flex;gap:8px;align-items:flex-start;cursor:pointer;line-height:1.4}.quiz input{margin-top:4px;flex:none}.quiz.wrong{border-color:#d8332a}.certificate{border:2px solid #14181f;border-radius:10px;padding:28px 22px;text-align:center;background:#fff;color:#14181f}.certificate h1{font-size:22px;margin:6px 0 14px;letter-spacing:-.01em}.cert-eyebrow{font-size:11px;letter-spacing:.22em;text-transform:uppercase;margin:0;font-weight:700}.cert-name{font-size:26px;font-weight:700;margin:0 0 10px}.cert-body{margin:0 0 18px;line-height:1.5}.cert-date{margin:0;font-weight:600}.cert-note{margin:18px 0 0;font-size:11px;line-height:1.5;color:#5b6472}@media print{.no-print{display:none!important}.course-wrap{padding:0;max-width:none}.certificate{border-width:3px;padding:60px 40px}}.certificate{position:relative;isolation:isolate;overflow:hidden;min-height:460px;padding:38px 26px}.certificate:before{content:"";position:absolute;top:0;right:0;bottom:0;left:0;z-index:-1;background:url(/juicers/app/course/img/certificate-sydney-v2.webp) center bottom / cover no-repeat;opacity:.24;filter:blur(.7px)}.cert-logo{width:116px;height:46px;object-fit:contain;margin-bottom:18px}.certificate h1{font-size:clamp(22px,4vw,32px)}.cert-name{font-size:clamp(26px,5vw,38px);overflow-wrap:anywhere}.certificate .cert-note{margin-top:46px;color:#374151}@media print{.certificate{break-inside:avoid;print-color-adjust:exact;-webkit-print-color-adjust:exact}}.linkbtn{background:none;border:0;padding:0;font:inherit;color:inherit;text-decoration:underline;cursor:pointer}
