body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;margin:0}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}#root,body,html{background:#222;font-family:Inter,Arial,sans-serif;height:100%;margin:0}.login-page{display:flex;height:100vh}.login-left{align-items:center;background:#000;color:#fff;display:flex;flex:1 1;flex-direction:column;justify-content:center;min-width:350px;padding:20px}.branding{text-align:center}.branding .logo{margin-bottom:24px}.branding h1{font-size:2.5rem;font-weight:700;margin:0 0 16px}.branding p{color:#fff;font-size:1.2rem;margin:0}.login-right{align-items:center;background:#fff;display:flex;flex:1 1;justify-content:center;padding:20px}.login-form{background:#f5f5f5;border-radius:12px;box-shadow:0 2px 16px #00000014;display:flex;flex-direction:column;gap:12px;max-width:360px;min-width:340px;padding:40px 32px;width:100%}.login-form h2{font-size:1.5rem;font-weight:700;margin-bottom:4px}.login-form p{color:#444;font-size:1rem;margin-bottom:12px}.login-form label{font-size:.95rem;font-weight:600;margin-top:8px}.login-form input{background:#fff;border:1px solid #bbb;border-radius:8px;box-sizing:border-box;font-size:1rem;margin-bottom:8px;padding:8px 10px;width:100%}.login-form button{background:#3fffd8;border:none;border-radius:6px;color:#111;cursor:pointer;font-size:.9rem;font-weight:700;height:24px;margin-top:8px;min-width:40px;padding:4px 0;transition:background .2s}.login-form button:hover{background:#2be6b8}.login-links{margin-top:10px;text-align:left}.signup-link{color:#d600ff}.forgot-link,.signup-link{font-weight:600;text-decoration:none}.forgot-link{color:#b36aff}.forgot-link:hover,.signup-link:hover{text-decoration:underline}@media (max-width:768px){.login-page{flex-direction:column}.login-left{min-height:200px;min-width:auto;padding:30px 20px}.branding h1{font-size:1.8rem}.branding p{font-size:1rem}.login-right{padding:20px}.login-form{max-width:100%;min-width:auto;padding:30px 20px}}.shell{background:#1f1f1f;color:#101010;height:100vh;overflow:hidden}.shell-inner{display:grid;grid-template-columns:260px 1fr;height:100vh}.sidebar{background:#000;border-right:none;color:inherit;height:100vh;overflow:hidden;padding:0;transition:transform .3s ease}.sidebar .brand{align-items:center;color:#e9fdf8;display:flex;font-weight:700;gap:8px;margin-bottom:10px;padding:8px 10px}.sidebar .sections{margin-top:12px}.sidebar .section-title{color:#7e7e7e;font-size:11px;letter-spacing:.04em;padding:8px 10px;text-transform:uppercase}.menu{list-style:none;margin:0;padding:0}.menu-item{align-items:center;border-radius:6px;color:#cfcfcf;cursor:pointer;display:flex;font-size:13px;gap:8px;padding:6px 10px}.menu-item:hover{background:#161616}.menu-item.active{background:#112e2a;color:#3fffd8;font-weight:600}.content{background:#f4f6f8;height:auto;overflow-y:auto;padding:24px 28px 60px}@media (max-width:768px){.shell-inner{grid-template-columns:1fr}.sidebar{left:0;max-width:85vw;position:fixed;top:0;transform:translateX(-100%);width:260px;z-index:1000}.sidebar.mobile-open{transform:translateX(0)}.mobile-menu-toggle{display:flex!important}.mobile-overlay{display:block!important}.content{padding:70px 16px 16px}}.page-title{color:#121212;font-size:18px;font-weight:700;margin:8px 0 18px}.grid{grid-gap:20px;align-items:start;display:grid;gap:20px;grid-template-columns:1fr 420px}.card{background:#fff;border:1px solid #e6e7e9;border-radius:12px;box-shadow:0 2px 10px #0000000a}.card-header{border-bottom:1px solid #eef0f2;color:#161616;font-weight:700;padding:14px 16px}.card-body{padding:16px}.form-grid{grid-gap:14px 12px;display:grid;gap:14px 12px;grid-template-columns:1fr 1fr}.form-grid .full{grid-column:1/-1}.input{display:flex;flex-direction:column;gap:6px}.input label{color:#4b4b4b;font-size:12px;font-weight:600}.input input,.input select{background:#fbfbfc;border:1px solid #d7d9dd;border-radius:6px;font-size:13px;height:24px;min-width:40px;outline:none;padding:4px 8px;transition:border .15s ease}.input input:focus,.input select:focus{background:#fff;border-color:#3fffd8;box-shadow:0 0 0 3px #3fffd833}@media (max-width:1024px){.grid{grid-template-columns:1fr}}@media (max-width:768px){.form-grid{gap:12px;grid-template-columns:1fr}.page-title{font-size:16px}}.input-with-unit input{padding-right:56px}.unit{align-items:center;background:#f1f3f5;border:1px solid #d7d9dd;border-radius:6px;color:#222;display:inline-flex;font-size:11px;height:24px;padding:0 8px;position:absolute;right:6px;top:50%;transform:translateY(-50%)}.actions{display:flex;flex-wrap:wrap;gap:8px;justify-content:flex-start;margin-top:8px}.btn-primary{align-items:center;background:linear-gradient(180deg,#3fffd8,#14e0bb);border-radius:8px;box-shadow:0 1px 4px #14e0bb4d;color:#0b1f1b;display:inline-flex;font-size:14px;justify-content:center;min-height:40px;min-width:40px;padding:10px 16px}.btn-primary:disabled{cursor:default;opacity:.6}@media (max-width:768px){.btn-primary{width:100%}}.list{list-style:none;margin:0;padding:0}.list-item{grid-gap:6px;align-items:center;border-bottom:1px solid #f0f2f4;display:grid;gap:6px;grid-template-columns:1fr auto;padding:8px 10px}.list-item .title{color:#121212;font-weight:700}.list-item .subtitle{color:#6b6e73;font-size:12px}.icon-btn{align-items:center;background:#f5f6f8;border:1px solid #e7e9ec;border-radius:8px;color:#394046;cursor:pointer;display:inline-flex;font-size:13px;justify-content:center;min-height:36px;min-width:40px;padding:8px 12px;white-space:nowrap}.icon-btn:hover{background:#eef1f4}.header-row{grid-gap:6px;align-items:center;border-bottom:1px solid #eef0f2;color:#161616;display:grid;font-size:13px;font-weight:700;gap:6px;grid-template-columns:1fr auto auto;padding:8px 10px}@media (max-width:768px){.header-row,.list-item{grid-template-columns:1fr}.header-row{text-align:center}}.recipes-header{align-items:center;display:flex;justify-content:space-between;margin-bottom:20px}.recipes-header h1{color:#121212;font-size:24px;font-weight:700;margin:0}.btn-secondary{background:#6b7280;border:none;border-radius:8px;color:#fff;font-size:14px;padding:10px 16px;transition:background .2s}.btn-secondary:hover{background:#4b5563}.btn-secondary:disabled{background:#9ca3af;cursor:not-allowed}.main-content{background:#f4f6f8;min-height:100vh;overflow-x:hidden;overflow-y:auto;padding:24px 28px}.error-message{background:#fee2e2;border:1px solid #fecaca;color:#dc2626;margin:10px 0;padding:12px}img{height:auto;max-width:100%}a,button{min-height:36px;min-width:40px}input[type=checkbox],input[type=radio]{min-height:20px;min-width:20px}*{max-width:100%}body{overflow-x:hidden}@media (max-width:768px){.main-content{padding:16px}}.wizard-container{align-items:center;background:linear-gradient(135deg,#e8f5f3,#f0f9f7);display:flex;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,sans-serif;justify-content:center;min-height:100vh;padding:40px 20px}.wizard-card{background:#fff;border-radius:20px;box-shadow:0 10px 40px #00000014;max-width:600px;padding:48px 56px;position:relative;width:100%}.wizard-progress{border-bottom:1px solid #a1a1a1;justify-content:space-between;margin-bottom:48px;padding-bottom:32px}.progress-circle,.progress-step-wrapper,.wizard-progress{align-items:center;display:flex;position:relative}.progress-circle{background:#d1d5db;border-radius:50%;box-shadow:0 2px 4px #0000000d;color:#6b7280;font-size:16px;font-weight:600;height:44px;justify-content:center;transition:all .3s ease;width:44px;z-index:2}.progress-circle.completed{background:#3fffd8;box-shadow:0 2px 8px #3fffd84d;color:#0a4d43}.progress-circle.current{background:#3fffd8;box-shadow:0 4px 12px #3fffd866,0 0 0 4px #3fffd826;color:#0a4d43;transform:scale(1.05)}.progress-line{background:#e5e7eb;height:4px;margin:0 -2px;position:relative;transition:all .3s ease;width:210px;z-index:1}.progress-line.completed{background:linear-gradient(90deg,#3fffd8,#2ee5c0);box-shadow:0 2px 4px #3fffd833}.wizard-step{animation:fadeIn .4s ease}@keyframes fadeIn{0%{opacity:0;transform:translateY(10px)}to{opacity:1;transform:translateY(0)}}.wizard-title{color:#1a1a1a;font-size:28px;font-weight:700;letter-spacing:-.5px;margin:0 0 8px}.wizard-subtitle{color:#666;font-size:15px;line-height:1.5;margin:0 0 32px}.wizard-form{grid-gap:20px;display:grid;gap:20px;grid-template-columns:1fr 1fr;margin-bottom:32px}.form-field{display:flex;flex-direction:column}.form-field.full-width{grid-column:1/-1}.form-field label{color:#333;display:block;font-size:14px;font-weight:600;margin-bottom:8px}.form-field input,.form-field select{background:#fff;border:1.5px solid #d4d4d4;border-radius:10px;color:#1a1a1a;font-family:inherit;font-size:15px;height:44px;outline:none;padding:0 14px;transition:all .2s ease}.form-field input::placeholder{color:#999}.form-field input:focus,.form-field select:focus{border-color:#3fffd8;box-shadow:0 0 0 3px #3fffd826}.form-field select{appearance:none;background-image:url("data:image/svg+xml;charset=utf-8,%3Csvg width='12' height='8' fill='none' xmlns='http://www.w3.org/2000/svg'%3E%3Cpath d='m1 1.5 5 5 5-5' stroke='%23666' stroke-width='2' stroke-linecap='round' stroke-linejoin='round'/%3E%3C/svg%3E");background-position:right 14px center;background-repeat:no-repeat;cursor:pointer;padding-right:40px}.form-field select option{padding:10px}.multi-select{height:auto!important;min-height:100px;padding:10px 14px}.multi-select option{border-radius:4px;margin:2px 0;padding:6px}.multi-select option:checked{background:#3fffd8;color:#0a4d43}.input-with-unit{position:relative}.input-with-unit input{padding-right:50px}.unit-label{color:#666;font-size:14px;font-weight:600;pointer-events:none;position:absolute;right:14px;top:50%;transform:translateY(-50%)}.field-error{color:#e53e3e;display:block;font-size:13px;margin-top:6px}.submit-error{background:#fee;border:1.5px solid #fcc;border-radius:10px;color:#c33}.submit-error,.submit-success{font-size:14px;font-weight:500;margin-bottom:20px;padding:14px 16px}.submit-success{background:#e8fff5;border:1.5px solid #3fffd8;border-radius:10px;color:#0a4d43}.wizard-actions{display:flex;gap:12px;justify-content:space-between;padding-top:8px}.btn-primary{background:#3fffd8;border:none;border-radius:10px;box-shadow:0 2px 8px #3fffd84d;color:#0a4d43;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;min-width:160px;padding:14px 28px;transition:all .2s ease}.btn-primary:hover{background:#2ee5c0;box-shadow:0 4px 12px #3fffd866;transform:translateY(-1px)}.btn-primary:active{transform:translateY(0)}.btn-secondary{background:#f5f5f5;border:1.5px solid #d4d4d4;border-radius:10px;color:#555;cursor:pointer;font-family:inherit;font-size:15px;font-weight:600;min-width:140px;padding:14px 28px;transition:all .2s ease}.btn-secondary:hover{background:#ececec;border-color:#bbb}.btn-secondary:active{transform:scale(.98)}@media (max-width:640px){.wizard-container{padding:20px 16px}.wizard-card{border-radius:16px;padding:32px 24px}.wizard-progress{margin-bottom:32px}.progress-circle{font-size:16px;height:40px;width:40px}.progress-line{width:120px}.wizard-title{font-size:24px}.wizard-subtitle{font-size:14px;margin-bottom:24px}.wizard-form{gap:16px;grid-template-columns:1fr}.form-field input,.form-field select{font-size:14px;height:42px}.wizard-actions{flex-direction:column-reverse}.btn-primary,.btn-secondary{min-width:auto;width:100%}}@media (max-width:768px) and (min-width:641px){.wizard-card{padding:40px 36px}.progress-line{width:120px}}.admin-tokens-container{align-items:flex-start;background:linear-gradient(135deg,#667eea,#764ba2);display:flex;justify-content:center;min-height:100vh;padding:40px 20px}.admin-tokens-card{background:#fff;border-radius:12px;box-shadow:0 10px 40px #0000001a;max-width:1200px;padding:40px;width:100%}.admin-tokens-title{color:#2c3e50;font-size:28px;font-weight:600;margin-bottom:10px}.admin-tokens-subtitle{color:#7f8c8d;font-size:16px;margin-bottom:30px}.error-message{background:#ffe5e5;border-left:4px solid #e74c3c;border-radius:8px;color:#e74c3c;margin-bottom:20px;padding:12px 16px}.generate-section{background:#f8f9fa;border-radius:8px;margin-bottom:40px;padding:24px}.generate-controls{align-items:flex-end;display:flex;gap:20px;margin-bottom:20px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{color:#2c3e50;font-size:14px;font-weight:500}.expires-input{border:1px solid #ddd;border-radius:6px;font-size:14px;padding:10px 14px;width:150px}.btn-generate{background:#3498db;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:12px 24px;transition:background .3s;white-space:nowrap}.btn-generate:hover{background:#2980b9}.btn-generate:disabled{background:#95a5a6;cursor:not-allowed}.new-token-display{background:#fff;border:2px solid #27ae60;border-radius:8px;padding:20px}.new-token-display h3{color:#27ae60;font-size:18px;margin-bottom:16px}.token-info{gap:16px}.token-field,.token-info{display:flex;flex-direction:column}.token-field{gap:8px}.token-field label{color:#2c3e50;font-size:14px;font-weight:500}.token-value{display:flex;gap:10px}.token-input{background:#f8f9fa;border:1px solid #ddd;border-radius:6px;flex:1 1;font-family:Courier New,monospace;font-size:14px;padding:10px 14px}.btn-copy{background:#27ae60;border:none;border-radius:6px;color:#fff;cursor:pointer;font-weight:500;padding:10px 20px;transition:background .3s;white-space:nowrap}.btn-copy:hover{background:#229954}.token-expires{color:#7f8c8d;font-size:14px;margin-top:8px}.tokens-list-section{margin-top:40px}.tokens-list-section h2{color:#2c3e50;font-size:22px;font-weight:600;margin-bottom:20px}.no-tokens{color:#7f8c8d;font-style:italic;padding:40px;text-align:center}.tokens-table{overflow-x:auto}.tokens-table table{border-collapse:collapse;width:100%}.tokens-table th{background:#f8f9fa;border-bottom:2px solid #ddd;color:#2c3e50;font-size:14px;font-weight:600;padding:12px 16px;text-align:left}.tokens-table td{border-bottom:1px solid #eee;color:#34495e;font-size:14px;padding:14px 16px}.token-cell code{background:#f8f9fa;border-radius:4px;color:#555;font-size:12px;padding:4px 8px}.status-badge{border-radius:12px;display:inline-block;font-size:12px;font-weight:500;padding:4px 12px}.status-badge.active{background:#d4edda;color:#155724}.status-badge.used{background:#d1ecf1;color:#0c5460}.status-badge.expired{background:#f8d7da;color:#721c24}@media (max-width:768px){.admin-tokens-card{padding:20px}.generate-controls{align-items:stretch;flex-direction:column}.btn-generate,.expires-input{width:100%}.tokens-table{font-size:12px}.tokens-table td,.tokens-table th{padding:8px}}
/*# sourceMappingURL=main.5dc248bf.css.map*/