:root{--color-mint: #6ec39c;--color-dark: #2d2d2d;--color-golden: #f0c45b;--color-terracotta: #e7806d;--color-white: #ffffff;--color-bg: #f8faf9;--color-text: var(--color-dark);--font-sans: "DM Sans", system-ui, -apple-system, sans-serif}*,*:before,*:after{box-sizing:border-box;margin:0;padding:0}body{font-family:var(--font-sans);color:var(--color-text);background:var(--color-bg);min-height:100vh;line-height:1.5}a{color:var(--color-mint);text-decoration:none}a:hover{text-decoration:underline}.mojito-layout{display:flex;flex-direction:column;min-height:100vh}.mojito-header{background:var(--color-dark);padding:1rem 1.5rem;display:flex;align-items:center;justify-content:space-between}.mojito-header__actions{display:flex;align-items:center;gap:1.5rem}.mojito-header__customer-select{padding:.4rem .75rem;font-size:.875rem;font-family:inherit;color:var(--color-dark);background:#fff3;border:1px solid rgba(255,255,255,.4);border-radius:6px;cursor:pointer;min-width:160px}.mojito-header__customer-select:hover:not(:disabled){background:#ffffff40;border-color:#fff9}.mojito-header__customer-select:focus{outline:none;border-color:var(--color-mint);box-shadow:0 0 0 2px #6ec39c4d}.mojito-header__customer-select option{color:var(--color-dark);background:var(--color-white)}.mojito-header__user{display:flex;align-items:center;gap:1rem}.mojito-header__username{color:var(--color-white);font-size:.9rem}.mojito-header__signout{background:transparent;border:1px solid rgba(255,255,255,.5);color:var(--color-white);padding:.4rem .75rem;font-size:.875rem;font-family:inherit;border-radius:6px;cursor:pointer;transition:background .2s,border-color .2s}.mojito-header__signout:hover{background:#ffffff1a;border-color:var(--color-white)}.mojito-header__logo{display:block;line-height:0}.mojito-header__logo img{height:36px;width:auto}.mojito-main{flex:1;padding:2rem 1.5rem;max-width:1200px;margin:0 auto;width:100%}.mojito-footer{background:var(--color-dark);padding:1.5rem;display:flex;flex-direction:column;align-items:center;gap:.75rem}.mojito-footer__logo{height:32px;width:auto;opacity:.9}.mojito-footer__copy{color:var(--color-white);font-size:.875rem;opacity:.8}.mojito-footer__version{color:#ffffff80;font-size:.75rem;font-family:monospace}.index-page{text-align:center;padding:3rem 0}.index-page__title{font-size:2.5rem;font-weight:600;color:var(--color-dark);margin-bottom:.75rem}.index-page__title:after{content:" ";display:block;width:3rem;height:4px;background:var(--color-mint);margin:.5rem auto 0;border-radius:2px}.index-page__tagline{font-size:1.125rem;color:var(--color-dark);opacity:.85;max-width:32rem;margin:0 auto 3rem}.index-page__section-title{font-size:1.25rem;font-weight:600;color:var(--color-dark);margin-bottom:1rem;text-align:left}.index-page__content{text-align:left;max-width:56rem}.index-page__loading{color:var(--color-dark);opacity:.7}.index-page__recipe-list{list-style:none;padding:0;margin:0}.index-page__recipe-item{display:flex;flex-wrap:wrap;align-items:baseline;gap:.5rem;padding:.75rem 1rem;background:var(--color-white);border:1px solid rgba(45,45,45,.1);border-radius:8px;margin-bottom:.5rem}.index-page__recipe-item{cursor:pointer}.index-page__recipe-item:hover{border-color:var(--color-mint);box-shadow:0 0 0 1px var(--color-mint)}.index-page__recipe-item--selected{border-color:var(--color-mint);background:#6ec39c14;box-shadow:0 0 0 1px var(--color-mint)}.index-page__recipe-section{display:flex;gap:2rem;flex-wrap:wrap}.index-page__recipe-list{flex:0 1 320px;min-width:0}.index-page__trigger-panel{margin-bottom:1.5rem;padding:1rem;background:var(--color-white);border:1px solid rgba(45,45,45,.1);border-radius:8px}.index-page__trigger-title{font-size:1rem;font-weight:600;color:var(--color-dark);margin-bottom:.75rem}.index-page__run-button{padding:.5rem 1rem;background:var(--color-mint);color:var(--color-dark);border:none;border-radius:6px;font-weight:500;cursor:pointer}.index-page__run-button:disabled{opacity:.6;cursor:not-allowed}.index-page__run-button--secondary{background:transparent;border:1px solid rgba(45,45,45,.2);margin-right:.5rem}.index-page__trigger-options{display:flex;flex-direction:column;gap:.75rem}.index-page__trigger-options-list{max-height:12rem;overflow-y:auto;display:flex;flex-direction:column;gap:.25rem}.index-page__trigger-option{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem}.index-page__trigger-option input{flex-shrink:0}.index-page__trigger-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.index-page__run-error{margin-top:.5rem;font-size:.875rem;color:#c00}.index-page__steps{flex:1;min-width:280px}.index-page__steps-title{font-size:1rem;font-weight:600;color:var(--color-dark);margin-bottom:.75rem;display:flex;align-items:center;gap:.5rem}.index-page__active-badge{font-size:.75rem;font-weight:500;padding:.2rem .5rem;background:var(--color-mint);color:var(--color-dark);border-radius:999px}.index-page__step-orders{display:flex;flex-wrap:wrap;gap:.25rem;margin-left:auto}.index-page__order-pill{font-size:.8rem;padding:.2rem .5rem;border-radius:4px;font-family:monospace;background:#2d2d2d14;color:var(--color-dark)}.index-page__order-pill--unprocessed{background:#2d2d2d14;color:var(--color-dark)}.index-page__order-pill--processing{background:#f0c45b4d;color:var(--color-dark)}.index-page__order-pill--processed{background:#6ec39c33;color:var(--color-dark)}.index-page__step-stack{display:flex;flex-direction:column;gap:.5rem}.index-page__step-cell{display:flex;align-items:center;gap:.75rem;padding:.6rem .9rem;background:var(--color-white);border:1px solid rgba(45,45,45,.08);border-radius:6px}.index-page__step-cell--steps{min-width:36rem;max-width:100%;flex-direction:column;align-items:flex-start;gap:.25rem}.index-page__step-meta-row{display:flex;align-items:center;gap:.75rem;width:100%}.index-page__step-meta-row--name{padding-left:2.25rem}.index-page__step-list{list-style:none;padding:0;margin:0}.index-page__step-item{display:flex;align-items:center;gap:.75rem;padding:.5rem .75rem;background:var(--color-white);border:1px solid rgba(45,45,45,.08);border-radius:6px;margin-bottom:.35rem}.index-page__step-position{flex-shrink:0;width:1.5rem;height:1.5rem;display:flex;align-items:center;justify-content:center;background:var(--color-mint);color:var(--color-dark);font-size:.75rem;font-weight:600;border-radius:4px}.index-page__step-type{font-size:.875rem;font-weight:500;color:var(--color-dark)}.index-page__step-name,.index-page__empty{font-size:.875rem;color:var(--color-dark);opacity:.7}.index-page__recipe-name{font-weight:600;color:var(--color-dark)}.index-page__recipe-meta{font-size:.875rem;color:var(--color-dark);opacity:.7}.index-page__placeholder{background:var(--color-white);border:1px dashed var(--color-mint);border-radius:8px;padding:2rem;color:var(--color-dark);opacity:.7}.login-page{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:1.5rem;background:linear-gradient(135deg,var(--color-bg) 0%,#e8f5f0 50%,var(--color-bg) 100%)}.login-card{width:100%;max-width:400px;padding:2.5rem;background:var(--color-white);border-radius:12px;box-shadow:0 4px 24px #2d2d2d14}.login-card__logo{display:block;height:50px;width:auto;margin:0 auto 1.5rem}.login-card__title{font-size:1.5rem;font-weight:600;color:var(--color-dark);text-align:center;margin-bottom:.25rem}.login-card__subtitle{font-size:.9rem;color:var(--color-dark);opacity:.7;text-align:center;margin-bottom:2rem}.login-form{display:flex;flex-direction:column;gap:1.25rem}.login-form__field{display:flex;flex-direction:column;gap:.4rem}.login-form__field label{font-size:.875rem;font-weight:500;color:var(--color-dark)}.login-form__field input{padding:.75rem 1rem;font-size:1rem;border:1px solid rgba(45,45,45,.2);border-radius:8px;font-family:inherit;transition:border-color .2s,box-shadow .2s}.login-form__field input:focus{outline:none;border-color:var(--color-mint);box-shadow:0 0 0 3px #6ec39c33}.login-form__field input:disabled{opacity:.7;cursor:not-allowed}.login-form__error{font-size:.875rem;color:var(--color-terracotta);margin:0}.login-form__submit{padding:.75rem 1.5rem;font-size:1rem;font-weight:600;color:var(--color-dark);background:var(--color-mint);border:none;border-radius:8px;cursor:pointer;font-family:inherit;transition:background .2s,opacity .2s}.login-form__submit:hover:not(:disabled){background:#5db88a}.login-form__submit:disabled{opacity:.7;cursor:not-allowed}
