body,html{max-width:100vw;overflow-x:hidden;background:#f5f5f5}*{box-sizing:border-box;padding:0;margin:0}li{list-style-type:none}a{color:inherit;text-decoration:none}.login-page{display:flex;justify-content:center;align-items:center;height:100vh}.login-card h2{text-align:center;font-size:30px;margin-bottom:10px}.login-form{display:flex;flex-direction:column;gap:5px}.navbar{background-color:#4CAF50;color:white;padding:10px 50px;display:flex;justify-content:space-between;align-items:center}.recipes-page{padding:20px}.recipe-card{background:white;border-radius:12px;padding:16px;margin-bottom:20px;box-shadow:0 4px 10px rgba(237,152,152,.1)}.recipes-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.recipes-header button{background:#22c55e;color:white;border:none;padding:10px 16px;border-radius:8px;cursor:pointer}.recipe-title{font-size:22px;font-weight:700;margin-bottom:16px}.recipe-section h3{font-size:16px;font-weight:700;margin-bottom:6px;color:#4CAF50}.list{list-style:disc inside;margin-left:10px}.tags{gap:8px}.tag{background:#e8f5e9;color:#388e3c;border-radius:20px;font-size:14px}.links{display:flex;gap:10px;flex-wrap:wrap}.link{padding:6px 12px;border:1px solid #4caf50;border-radius:8px;color:#4CAF50;text-decoration:none;transition:.2s}.qr-wrapper{display:flex;align-items:flex-start;padding:20px}.qr-card{background:#fff;border-radius:16px;box-shadow:0 6px 14px rgba(0,0,0,.08);padding:32px;max-width:1100px;width:100%;text-align:center}.qr-card>img{width:100%;max-width:420px;margin:0 auto;display:block}.qr-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(150px,1fr));grid-gap:16px;gap:16px;justify-items:center;margin-top:12px}.qr-item{width:150px;text-align:center}.qr-thumb{width:100%;height:auto;border:1px solid #ccc;background:#fff;padding:8px}.qr-download{margin-top:6px;font-size:14px;color:#333}.qr-buttons{display:flex;gap:12px;justify-content:center;margin-top:20px}.qr-buttons button{background:#22c55e;color:#fff;font-weight:600;padding:12px;border:none;border-radius:8px;cursor:pointer}.qr-composer{margin-top:8px;max-width:960px;border:1px solid #cfd8d0;border-radius:12px;background:#faf8f2;overflow:hidden}.qr-composer-summary{display:flex;align-items:center;gap:10px;width:100%;padding:14px 16px;margin:0;border:none;background:transparent;cursor:pointer;color:#093b25;text-align:left;font:inherit}.qr-composer-summary-chevron{flex-shrink:0;color:#4d7361;transition:transform .15s ease}.qr-composer.is-open .qr-composer-summary-chevron{transform:rotate(90deg)}.qr-composer-summary-title{font-size:1.15rem;font-weight:700}.qr-composer-summary-meta{margin-left:auto;font-size:13px;color:#4d7361;font-weight:500;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;max-width:45%}.qr-composer-body{padding:16px;border-top:1px solid #e4ebe4}.qr-composer-controls{display:flex;flex-wrap:wrap;gap:12px;align-items:flex-end;margin-bottom:12px}.qr-composer-file{display:flex;flex-direction:column;gap:4px;font-size:13px;color:#093b25}.qr-composer-file input[type=file]{max-width:260px}.qr-composer-actions button,.qr-composer-clear{background:#093b25;color:#faf8f2;border:none;border-radius:6px;padding:8px 14px;cursor:pointer;font-weight:600}.qr-composer-clear{align-self:flex-end;background:#4d7361}.qr-composer-actions button:disabled{opacity:.45;cursor:not-allowed}.qr-composer-meta{font-size:13px;color:#4d7361;margin:0 0 8px}.qr-composer-error{color:#b33a3a;margin:0 0 12px}.qr-composer-sliders{display:grid;grid-gap:10px;gap:10px;margin-bottom:16px;max-width:520px}.qr-composer-sliders label{display:grid;grid-gap:4px;gap:4px;font-size:13px;color:#093b25}.qr-composer-actions{display:flex;gap:8px;flex-wrap:wrap}.qr-composer-canvas-wrap{position:relative;overflow:auto;border:1px solid #cfd8d0;border-radius:12px;background:#f3f0e8;padding:12px;max-width:100%}.qr-composer-canvas{display:block;max-width:100%;height:auto;touch-action:none;box-shadow:0 4px 16px rgba(9,59,37,.12);background:#fff}.qr-composer-overlay-hint{position:absolute;z-index:1;left:24px;right:24px;top:24px;margin:0;padding:10px 12px;background:rgba(250,248,242,.92);border-radius:8px;color:#4d7361;font-size:13px;pointer-events:none}.profile-card{background:#fff;border:1px solid #bbf7d0;border-radius:16px;box-shadow:0 6px 14px rgba(0,0,0,.08);padding:24px;max-width:400px;margin:40px auto;text-align:center}.profile-title{font-size:1.4rem;font-weight:700;color:#4CAF50;margin-bottom:20px}.profile-info{margin-bottom:24px;text-align:left}.profile-info p{margin:8px 0;font-size:1rem;color:#374151}.profile-info span{font-weight:600;color:#15803d}.logout-btn{background:#22c55e;color:#fff;font-weight:600;padding:10px 20px;border:none;border-radius:8px;cursor:pointer}.charts-card-id,.recipe-card-id{max-width:800px;margin:20px auto;padding:20px;background:#fdfdfd;border:1px solid #ddd;border-radius:12px;box-shadow:0 2px 6px rgba(0,0,0,.1);position:relative}.recipe-title{font-size:1.8rem;margin:10px 0}.recipe-description{color:#444;margin-bottom:15px}.recipe-images{display:flex;gap:10px;flex-wrap:wrap;margin-bottom:15px}.recipe-image{width:160px;height:160px;object-fit:cover;border-radius:8px}.recipe-section{margin-bottom:15px}.recipe-section h3{font-size:1.2rem;margin-bottom:8px}.tags{display:flex;flex-wrap:wrap;gap:6px}.tag{background:#eef2ff;color:#333;padding:4px 10px;border-radius:6px;font-size:.9rem}.links a{display:inline-block;margin-right:10px;text-decoration:none}.links a:hover{text-decoration:underline}.recipe-meta{margin-top:20px;font-size:.95rem;color:#555}.recipe-thumbnail{display:block;width:80px;height:80px;margin-top:10px;object-fit:cover;border-radius:6px}.recipe-actions{display:flex;justify-content:flex-end;gap:10px}.recipe-delete,.recipe-edit{padding:6px 14px;border:none;border-radius:6px;cursor:pointer}.recipe-edit{background:#4CAF50;color:white}.recipe-delete{background:#e74c3c;color:white}.error-message{color:red;padding:20px;text-align:center}.recipe-form{max-width:600px;margin:20px auto;display:flex;flex-direction:column;gap:15px}.recipe-top{display:flex;justify-content:space-between}.chart-edit-page label,.recipe-form label{display:flex;flex-direction:row;font-weight:700;gap:6px}.recipe-form input,.recipe-form textarea{padding:8px;border-radius:6px;border:1px solid #ccc}.recipe-description-editor{background-color:white}.recipe-description{max-width:100%;box-sizing:border-box;overflow-wrap:break-word;word-wrap:break-word;word-break:break-word;white-space:normal}.recipe-save{padding:8px 16px;background:#4CAF50;border:none;color:white;border-radius:6px;cursor:pointer}.tags-grid{display:flex;flex-wrap:wrap;gap:10px;margin-top:20px;margin-bottom:20px}.tag-item{display:flex;flex-direction:row;gap:15px;font-weight:400!important}.ingridients-btn{padding:6px 12px;background:#22c55e;border:none;color:white;border-radius:6px;cursor:pointer;width:auto!important;height:auto;margin-right:10px}.delete,.recipe-form li button{padding:6px;background:#e74c3c;color:white;border:none}.round-top{display:flex;align-items:center;gap:10px;margin-bottom:10px}.public{display:flex;gap:5px}.modal-overlay{position:fixed;inset:0;background:rgba(0,0,0,.5);display:flex;justify-content:center;align-items:center;z-index:50}.modal-content{background:#fff;padding:20px;border-radius:12px;max-width:1000px;height:80vh;overflow-y:auto;display:flex;flex-direction:column}.modal-title{font-size:20px;font-weight:700;margin-bottom:16px}.modal-body{padding:10px;flex:1 1;overflow-y:auto}.ingredient-list{display:flex;flex-direction:column;gap:12px}.ingredient-item{display:flex;justify-content:space-between;align-items:center;border-bottom:1px solid #ddd;padding:8px 0}.ingredient-item.custom-temp{border-bottom:none}.ingredient-info{display:flex;flex-direction:column;gap:4px}.ingredient-code{font-size:12px;color:#666}.instructions-list{display:flex;flex-direction:column;gap:12px}.instruction-item{display:flex;gap:10px}.row2col{display:grid;grid-template-columns:1fr 160px;align-items:center;grid-gap:16px;gap:16px;padding:10px 0}.col-left{display:flex;align-items:center;gap:12px}.amountWrap{display:inline-flex;align-items:center;gap:8px;flex:0 0 auto}.amountInput{width:70px}.col-right{display:flex;justify-content:flex-end;align-items:center}.ratioWrap{display:inline-flex;align-items:center;gap:6px}.ratioInput{width:50px}.ingName{min-width:0;white-space:normal;overflow:visible}.categories-bar button{background:#22c55e;border:none;border-radius:3px;color:#fff;padding:6px;margin-right:6px;margin-bottom:4px}.categories-bar button.active{background:#16a34a}.modal-actions{padding-top:10px;display:flex;gap:5px}.charts-list{display:flex;flex-direction:column;gap:20px}.charts-page{padding:20px;background:#f5f7fa;min-height:100vh}.charts-title{font-size:24px;margin-bottom:20px}.charts-list{display:grid;grid-template-columns:repeat(auto-fill,minmax(200px,1fr));grid-gap:16px;gap:16px}.chart-card{background:#fff;border-radius:12px;padding:12px;text-align:center;cursor:pointer}.chart-title{font-size:16px;font-weight:500;color:#333}.chart-edit-title{font-size:24px;margin-bottom:16px}.chart-edit-title-block{margin-bottom:24px;font-size:16px}.pdf-section-title{font-size:20px;margin-top:20px;margin-bottom:12px}.pdf-list{display:flex;flex-direction:column;gap:12px}.pdf-item{background:#fff;border-radius:12px;padding:12px;gap:8px}.pdf-select{padding:4px 8px;border-radius:6px}.pdf-button,.pdf-delete-button{padding:6px 12px;border:none;border-radius:6px;cursor:pointer}.pdf-button{background:#10b981;color:white}.pdf-delete-button{background:#ef4444;color:white}.add-new-pdf{gap:8px;margin-bottom:12px}.save-all-button{margin-top:20px;padding:10px 16px;border:none;border-radius:8px}.back-button,.save-all-button{background:#10b981;color:white;cursor:pointer}.back-button{padding:8px 12px;border:none;border-radius:6px;font-size:14px}.translations-page{padding:20px;background:#f5f7fa;min-height:100vh}.translations-title{font-size:24px;font-weight:700;margin-bottom:20px;color:#333}.translations-list{display:flex;flex-direction:column;gap:12px}.translation-card{display:block;background:#fff;border-radius:12px;padding:16px;box-shadow:0 2px 6px rgba(0,0,0,.08);text-decoration:none;color:inherit;transition:transform .2s ease,box-shadow .2s ease}.translation-card:hover{transform:translateY(-3px);box-shadow:0 6px 12px rgba(0,0,0,.12)}.translation-info{display:flex;flex-direction:column;gap:6px}.translation-languages{font-size:16px;font-weight:600;color:#10b981}.translation-date{font-size:14px;color:#555}.translation-meta{font-size:13px;color:#666;margin:0}.admin-translations-tabs{display:flex;gap:8px;margin-bottom:20px}.admin-translations-tab{padding:10px 18px;border:1px solid #cbd5e1;border-radius:8px;background:#fff;cursor:pointer;font-weight:600;color:#475569}.admin-translations-tab.active{border-color:#10b981;color:#047857;background:#ecfdf5}.admin-translations-ul{list-style:none;padding:0;margin:0;display:flex;flex-direction:column;gap:10px}.admin-translations-row{margin:0}.admin-translations-error{color:#b91c1c;background:#fef2f2;padding:12px 16px;border-radius:8px;margin-bottom:16px}.admin-translations-muted{color:#64748b;padding:16px 0}.admin-translations-lang-toolbar{margin-bottom:12px;display:flex;flex-wrap:wrap;align-items:center;gap:12px}.admin-translations-toolbar{display:flex;flex-wrap:wrap;align-items:flex-end;gap:16px;margin-bottom:16px}.admin-translations-field{display:flex;flex-direction:column;gap:4px;font-size:14px;font-weight:600;color:#334155}.admin-translations-field.grow{flex:1 1;min-width:200px}.admin-search{width:100%;max-width:480px;box-sizing:border-box}.admin-input.compact{max-width:140px;margin-left:8px;display:inline-block}.admin-translations-hint.subtle{font-size:14px;color:#64748b;margin:0 0 12px}.admin-detail-header{margin-bottom:24px}.admin-detail-back{display:inline-block;margin-bottom:12px;color:#10b981;font-weight:600;text-decoration:none}.admin-detail-back:hover{text-decoration:underline}.admin-detail-sub{color:#64748b;font-size:14px;margin-top:8px}.admin-detail-stack{display:flex;flex-direction:column;gap:20px}.admin-lang-card{background:#fff;border-radius:12px;padding:20px;box-shadow:0 2px 8px rgba(0,0,0,.08)}.admin-lang-card-head{display:flex;flex-wrap:wrap;align-items:center;gap:10px 16px;margin-bottom:16px}.admin-lang-badge{display:inline-block;background:#ecfdf5;color:#047857;font-weight:700;padding:6px 12px;border-radius:8px}.admin-field{display:flex;flex-direction:column;gap:6px;margin-bottom:16px}.admin-field.nested{margin-bottom:14px}.admin-input{padding:8px 12px}.admin-input,.admin-textarea{border:1px solid #cbd5e1;border-radius:8px;font-size:14px}.admin-textarea{width:100%;padding:10px 12px;font-family:inherit;resize:vertical;box-sizing:border-box}.admin-btn{display:inline-flex;align-items:center;justify-content:center;padding:8px 14px;border-radius:8px;border:1px solid #cbd5e1;background:#f8fafc;cursor:pointer;font-size:13px}.admin-btn.sm{padding:4px 10px;font-size:12px;margin-top:4px}.admin-btn.ghost{margin-left:auto;background:#fff}.admin-btn.danger-outline{border-color:#fecaca;color:#b91c1c;background:#fff}.admin-row-btns{display:flex;gap:8px;flex-wrap:wrap}.admin-instr-row{display:flex;flex-direction:column;gap:6px;margin-bottom:10px}.admin-instr-actions{display:flex;gap:8px;flex-wrap:wrap}.admin-lang-footer{margin-top:8px;padding-top:16px;border-top:1px solid #e2e8f0}.admin-source-block{margin-bottom:16px;font-size:14px}.admin-source-dl{margin:8px 0 0;padding:12px;background:#f8fafc;border-radius:8px;max-height:220px;overflow:auto}.admin-source-dl dt{font-weight:700;margin-top:8px}.admin-source-dl dd{margin:4px 0 0;white-space:pre-wrap}.edit-translation-container{max-width:800px;margin:40px auto;padding:20px;background:#ffffff;border-radius:12px;box-shadow:0 6px 14px rgba(0,0,0,.08)}.edit-translation-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:20px}.edit-translation-header h2{font-size:2rem}.edit-translation-delete{background:#ef4444;color:white;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;transition:background .2s}.edit-translation-delete:hover{background:#dc2626}.edit-translation-languages{font-weight:500;margin-bottom:20px;color:#10b981}.edit-translation-entries{margin-bottom:20px;display:flex;flex-direction:column;gap:10px}.edit-translation-entry input{margin-left:10px;padding:6px;border-radius:6px;border:1px solid #ccc;min-width:250px}.edit-translation-actions{display:flex;gap:10px}.edit-translation-save{background:#10b981;color:white;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;transition:background .2s}.edit-translation-save:hover{background:#059669}.edit-translation-cancel{background:#6b7280;color:white;border:none;padding:8px 16px;border-radius:6px;cursor:pointer;transition:background .2s}.edit-translation-cancel:hover{background:#4b5563}.edit-translation-error,.edit-translation-loading{text-align:center;padding:40px;font-size:1.2rem}.error-text{color:red;font-size:14px}.pdf-list{list-style:none;padding:0;margin:0 0 16px}.pdf-item{display:flex;justify-content:space-between;align-items:center;background:#f0f0f0;padding:8px 12px;border-radius:6px;margin-bottom:8px}.pdf-select{padding:6px 10px;border-radius:4px;border:1px solid #ccc;margin-right:8px}.pdf-button:hover,.pdf-delete-button:hover{background:#005bb5}.add-new-pdf{display:flex;gap:10px;align-items:center;margin-bottom:16px}.cover-preview{max-width:200px;display:block;margin-bottom:10px}