: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__nav-link{display:inline-flex;align-items:center;justify-content:center;background:transparent;border:1px solid rgba(255,255,255,.5);color:var(--color-white);padding:.4rem .75rem;border-radius:6px;transition:background .2s,border-color .2s;text-decoration:none}.mojito-header__nav-link:hover{background:#ffffff1a;border-color:var(--color-white);color: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:72rem}.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__detail-layout{display:flex;flex-wrap:wrap;gap:1.5rem;align-items:flex-start;margin-bottom:1.5rem}.index-page__detail-main{flex:1;min-width:0}.index-page__detail-sidebar{flex:1 1 320px;min-width:280px;max-width:480px;display:flex;flex-direction:column;gap:1rem}.index-page__detail-sidebar .index-page__schedule-panel{margin-bottom: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__dry-run-label{display:flex;align-items:center;gap:.5rem;cursor:pointer;font-size:.875rem;margin-bottom:.5rem}.index-page__dry-run-label input{flex-shrink:0}.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-pagination{display:flex;align-items:center;gap:.5rem;flex-wrap:wrap}.index-page__trigger-pagination-label{display:flex;align-items:center;gap:.25rem;font-size:.875rem}.index-page__trigger-page-input{width:4rem;padding:.25rem .4rem;border:1px solid rgba(45,45,45,.2);border-radius:4px;font-size:.875rem}.index-page__trigger-actions{display:flex;flex-wrap:wrap;gap:.5rem;align-items:center}.index-page__schedule-panel{margin-bottom:1.5rem;padding:1rem;border:1px solid rgba(45,45,45,.15);border-radius:8px}.index-page__schedule-panel--collapsible{padding:.5rem 1rem}.index-page__collapse-toggle{display:flex;align-items:center;gap:.5rem;width:100%;padding:.5rem 0;background:none;border:none;cursor:pointer;text-align:left;font:inherit}.index-page__collapse-toggle:hover{opacity:.9}.index-page__collapse-icon{flex-shrink:0;width:1.25rem;height:1.25rem;display:flex;align-items:center;justify-content:center;font-size:1rem;font-weight:600;color:var(--color-mint)}.index-page__collapse-toggle .index-page__trigger-title{margin-bottom:0}.index-page__collapse-content{padding-top:.75rem;margin-top:.25rem;border-top:1px solid rgba(45,45,45,.08)}.index-page__schedule-fields{display:flex;flex-direction:column;gap:.75rem;margin-bottom:.75rem}.index-page__schedule-label{display:flex;flex-direction:column;gap:.25rem;font-size:.875rem}.index-page__schedule-label span{font-weight:500}.index-page__schedule-input{padding:.4rem .5rem;border:1px solid rgba(45,45,45,.2);border-radius:4px;font-family:inherit;max-width:16rem}.index-page__connections-intro{font-size:.875rem;color:var(--color-dark);opacity:.85;margin-bottom:.75rem}.index-page__connections-table{margin-bottom:.75rem}.index-page__link-row{display:flex;gap:.5rem;align-items:center;flex-wrap:wrap}.index-page__link-row .index-page__schedule-input{min-width:10rem}.index-page__connections-add a{text-decoration:none;display:inline-block}.index-page__config-section,.index-page__secrets-section{margin-bottom:1.25rem}.index-page__config-subtitle{font-size:.95rem;font-weight:600;margin-bottom:.35rem}.index-page__config-json{display:block;width:100%;max-width:48rem;min-height:8rem;padding:.5rem;font-family:ui-monospace,monospace;font-size:.8rem;border:1px solid rgba(45,45,45,.2);border-radius:4px;resize:vertical}.index-page__config-actions{margin-top:.5rem}.index-page__secrets-list{list-style:none;padding:0;margin:0}.index-page__secrets-item{margin-bottom:.75rem}.index-page__secrets-label{display:inline-flex;align-items:center;gap:.5rem;font-size:.875rem;font-weight:500;margin-bottom:.25rem}.index-page__secrets-configured{font-size:.7rem;padding:.15rem .4rem;background:#6ec39c33;border-radius:4px;font-weight:500}.index-page__secret-input{max-width:20rem}.index-page__run-error{margin-top:.5rem;font-size:.875rem;color:#c00}.index-page__spec-section{margin-bottom:1.5rem;padding:1rem;background:var(--color-white);border:1px solid rgba(45,45,45,.1);border-radius:8px}.index-page__entity-summary{font-size:.875rem;color:var(--color-dark);opacity:.85;margin-bottom:.5rem}.index-page__spec-toggle{background:none;border:none;color:var(--color-mint);font-size:.875rem;cursor:pointer;padding:.25rem 0}.index-page__spec-toggle:hover{text-decoration:underline}.index-page__spec-content{margin-top:1rem}.index-page__spec-content h4{font-size:.875rem;font-weight:600;color:var(--color-dark);margin:1rem 0 .5rem}.index-page__spec-content h4:first-child{margin-top:0}.index-page__spec-table{width:100%;font-size:.8125rem;border-collapse:collapse}.index-page__spec-table th,.index-page__spec-table td{text-align:left;padding:.35rem .75rem;border-bottom:1px solid rgba(45,45,45,.08)}.index-page__spec-table th{font-weight:600;color:var(--color-dark)}.index-page__data-flow{font-size:.75rem;font-family:monospace;color:var(--color-dark);opacity:.8;display:flex;flex-wrap:wrap;gap:.15rem;align-items:center;padding:.5rem;background:#2d2d2d0a;border-radius:4px;max-width:100%}.index-page__data-flow-step{display:inline-flex;align-items:center;white-space:nowrap}.index-page__data-flow-arrow{flex-shrink:0;opacity:.7}.index-page__mappings-content{margin-bottom:1rem}.index-page__spec-table code{font-size:.8em;background:#2d2d2d0f;padding:.1rem .3rem;border-radius:3px}.index-page__step-purpose{font-size:.75rem;padding:.15rem .4rem;background:#2d2d2d0f;border-radius:4px;color:var(--color-dark);opacity:.8}.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;flex-wrap:wrap}.index-page__steps-title-text{flex:1;min-width:0}.index-page__incident-settings-link{font-size:.875rem;font-weight:500;white-space:nowrap;color:var(--color-dark);text-decoration:underline}.index-page__incident-settings-link:hover{opacity:.85}.index-page__active-badge{font-size:.75rem;font-weight:500;padding:.25rem .6rem;background:var(--color-mint);color:var(--color-dark);border-radius:999px;white-space:nowrap;flex-shrink:0}.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__order-pill--error{background:#dc505026;color:var(--color-dark)}.index-page__order-pill-meta{font-size:.75em;opacity:.9}.index-page__order-pill-wrap{display:inline-flex;align-items:center;gap:.2rem}.index-page__order-logs-btn{font-size:.65rem;padding:.1rem .3rem;background:transparent;border:1px solid rgba(45,45,45,.2);border-radius:3px;color:var(--color-dark);opacity:.7;cursor:pointer}.index-page__order-logs-btn:hover{opacity:1;border-color:var(--color-mint)}.index-page__modal-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.index-page__modal{background:var(--color-white);border-radius:8px;max-width:28rem;padding:1.25rem;box-shadow:0 4px 24px #00000026}.index-page__modal .index-page__trigger-title{margin-top:0}.index-page__modal-actions{display:flex;gap:.75rem;margin-top:1rem;flex-wrap:wrap}.index-page__logs-overlay{position:fixed;top:0;right:0;bottom:0;left:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000}.index-page__logs-modal{background:var(--color-white);border-radius:8px;max-width:90vw;max-height:80vh;overflow:hidden;display:flex;flex-direction:column;box-shadow:0 4px 24px #00000026}.index-page__logs-header{display:flex;align-items:center;justify-content:space-between;padding:1rem 1.25rem;border-bottom:1px solid rgba(45,45,45,.1)}.index-page__logs-header h3{margin:0;font-size:1rem;font-weight:600;color:var(--color-dark)}.index-page__logs-close{font-size:1.5rem;line-height:1;padding:0 .25rem;background:none;border:none;color:var(--color-dark);opacity:.7;cursor:pointer}.index-page__logs-close:hover{opacity:1}.index-page__logs-body{padding:1rem 1.25rem;overflow-y:auto;max-height:50vh}.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}.scheduling-page{max-width:56rem;margin:0 auto;text-align:left}.scheduling-page__title{font-size:2rem;font-weight:600;color:var(--color-dark);margin-bottom:1.5rem}.scheduling-page__section{margin-bottom:2rem}.scheduling-page__section-title{font-size:1.25rem;font-weight:600;color:var(--color-dark);margin-bottom:.75rem}.scheduling-page__card{background:var(--color-white);border:1px solid rgba(45,45,45,.1);border-radius:8px;padding:1rem 1.25rem}.scheduling-page__dl{display:grid;grid-template-columns:auto 1fr;gap:.5rem 2rem;margin:0}.scheduling-page__dl dt{font-weight:600;color:var(--color-dark);opacity:.9}.scheduling-page__dl dd{margin:0;color:var(--color-dark)}.scheduling-page__tasks-summary{margin:0;font-size:1rem;color:var(--color-dark)}.scheduling-page__muted{color:var(--color-dark);opacity:.7;margin:0}.scheduling-page__error{color:#c00;margin:0}.scheduling-page__table-wrap{overflow-x:auto;border:1px solid rgba(45,45,45,.1);border-radius:8px;background:var(--color-white)}.scheduling-page__table{width:100%;border-collapse:collapse;font-size:.9rem}.scheduling-page__table th,.scheduling-page__table td{padding:.75rem 1rem;text-align:left;border-bottom:1px solid rgba(45,45,45,.08)}.scheduling-page__table th{font-weight:600;color:var(--color-dark);background:#2d2d2d0a}.scheduling-page__table tbody tr:last-child td{border-bottom:none}.scheduling-page__table tbody tr:hover{background:#2d2d2d05}.scheduling-page__link{color:var(--color-mint);text-decoration:none}.scheduling-page__link:hover{text-decoration:underline}.scheduling-page__code{font-family:ui-monospace,monospace;font-size:.85em;background:#2d2d2d0f;padding:.2em .4em;border-radius:4px}.scheduling-page__refresh{margin-top:2rem;margin-bottom:0}.scheduling-page__refresh-btn{padding:.5rem 1rem;font-size:.9rem;font-family:inherit;color:var(--color-dark);background:var(--color-white);border:1px solid rgba(45,45,45,.2);border-radius:6px;cursor:pointer}.scheduling-page__refresh-btn:hover{border-color:var(--color-mint);background:#6ec39c14}.incidents-page{max-width:1200px;margin:0 auto;padding:1rem 1.25rem 2rem}.incidents-page__title{font-size:1.5rem;font-weight:600;margin:0 0 .5rem}.incidents-page__lead{color:var(--mojito-text-muted, #5c5c5c);margin:0 0 1.25rem;line-height:1.45}.incidents-page__muted{color:var(--mojito-text-muted, #5c5c5c)}.incidents-page__error{color:#b00020}.incidents-page__toolbar{display:flex;align-items:center;gap:1rem;margin-bottom:1rem}.incidents-page__filter{display:flex;align-items:center;gap:.5rem;font-size:.9rem}.incidents-page__filter select{padding:.35rem .5rem;border-radius:6px;border:1px solid #ccc}.incidents-page__refresh{padding:.4rem .75rem;border-radius:6px;border:1px solid #ccc;background:#fff;cursor:pointer}.incidents-page__refresh:hover{background:#f5f5f5}.incidents-page__empty{padding:2rem 0;color:var(--mojito-text-muted, #5c5c5c)}.incidents-page__table-wrap{overflow-x:auto;border:1px solid #e0e0e0;border-radius:8px}.incidents-page__table{width:100%;border-collapse:collapse;font-size:.875rem}.incidents-page__table th,.incidents-page__table td{text-align:left;padding:.5rem .65rem;border-bottom:1px solid #eee;vertical-align:top}.incidents-page__table th{background:#fafafa;font-weight:600}.incidents-page__table tr:last-child td{border-bottom:none}.incidents-page__code{font-size:.8rem}.incidents-page__mono{word-break:break-all}.incidents-page__recipe{display:block;font-weight:500}.incidents-page__sub{display:block;font-size:.8rem}.incidents-page__summary{max-width:280px;word-break:break-word}.incident-settings-page__breadcrumb{margin:0 0 .5rem;font-size:.875rem}.incident-settings-page__breadcrumb a{color:inherit;text-decoration:underline}.incident-settings-page__section{margin-bottom:1.75rem}.incident-settings-page__h2{font-size:1.1rem;font-weight:600;margin:0 0 .75rem}.incident-settings-page__h2--inline{margin:0}.incident-settings-page__field{margin-bottom:1rem}.incident-settings-page__label{display:flex;flex-direction:column;gap:.35rem;font-size:.9rem}.incident-settings-page__label input[type=text],.incident-settings-page__label input[type=email],.incident-settings-page__label select{padding:.35rem .5rem;border-radius:6px;border:1px solid #ccc;font:inherit}.incident-settings-page__grow{flex:1;min-width:0}.incident-settings-page__row{display:flex;flex-wrap:wrap;gap:1rem;align-items:flex-end;margin-bottom:.75rem}.incident-settings-page__form{max-width:720px}.incident-settings-page__checkbox{flex-direction:row;align-items:center;gap:.5rem;padding-bottom:.25rem}.incident-settings-page__checkbox input{width:auto}.incident-settings-page__section--edit{padding:1rem;border:1px solid #e0e0e0;border-radius:8px;background:#fafafa}.incident-settings-page__actions{display:flex;gap:.75rem;align-items:center}.incident-settings-page__cancel{padding:.4rem .75rem;border-radius:6px;border:1px solid #ccc;background:#fff;cursor:pointer}.incident-settings-page__cancel:hover{background:#f5f5f5}.incident-settings-page__cell-actions{white-space:nowrap;text-align:right}.incident-settings-page__linkish{background:none;border:none;padding:0 .5rem;cursor:pointer;color:#1565c0;text-decoration:underline;font:inherit}.incident-settings-page__linkish:hover{color:#0d47a1}
