*{margin:0;padding:0;box-sizing:border-box}:root{--control-height: 44px;--page-max-width: 1400px;--content-max-width: 1280px;--page-padding: clamp(.875rem, 2vw, 1.5rem);--safe-area-top: env(safe-area-inset-top, 0px);--safe-area-right: env(safe-area-inset-right, 0px);--safe-area-bottom: env(safe-area-inset-bottom, 0px);--safe-area-left: env(safe-area-inset-left, 0px);--mobile-nav-bar-height: 3.55rem;--mobile-nav-total-height: calc( var(--mobile-nav-bar-height) + var(--safe-area-top) )}body{background:transparent;color:#16313e;font-family:Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;min-height:100vh;min-height:100dvh;line-height:1.5}body.modal-open{overflow:hidden}.app{width:min(calc(100% - 1rem),var(--page-max-width));min-height:100vh;min-height:100dvh;margin:0 auto;padding:var(--page-padding);padding-bottom:calc(var(--page-padding) + var(--safe-area-bottom));display:flex;flex-direction:column;gap:clamp(1rem,2vw,1.5rem)}input[type=number]::-webkit-outer-spin-button,input[type=number]::-webkit-inner-spin-button{-webkit-appearance:none;margin:0}input[type=number]{-moz-appearance:textfield;appearance:textfield}.app-header{display:flex;justify-content:space-between;align-items:center;margin:0 auto;padding:1rem 1.5rem;background:#16313e;border-radius:18px;box-shadow:0 14px 32px #16313e2e;max-width:var(--content-max-width)}.app-header h1{font-size:2.5rem;color:#f2f2f2;font-weight:700;margin:0;line-height:1}.app-header .app-logo{width:60px;height:auto;display:inline-block;margin-right:.5rem;margin-top:0;vertical-align:middle}.app-brand{display:flex;align-items:center;gap:.5rem}.app-brand h1{margin-top:4px}.app-title{font-size:2.6rem;color:#f2f2f2;margin:0 auto .25rem;font-weight:700;text-align:center}.app-subtitle{font-size:1.05rem;color:#e6f3f6;font-weight:500;text-align:center}.btn{padding:.5rem 1rem;border:none;border-radius:10px;font-size:1rem;font-weight:500;justify-content:center;cursor:pointer;transition:all .3s ease;display:inline-flex;align-items:center;gap:.5rem}.btn-small{padding:.5rem 1rem;font-size:.9rem}.recipe-image-upload-btn{background:#16313e;color:#f2f2f2}.recipe-image-upload-btn:hover{background:#102630;color:#f2f2f2;transform:translateY(-2px);box-shadow:0 4px 15px #134b8b1a}.recipe-image-remove-btn{background:#355c67;color:#f2f2f2}.recipe-image-remove-btn:hover{background:#244753;color:#f2f2f2;transform:translateY(-2px)}.recipe-add-ingredient-btn{background:#2f5661;color:#f2f2f2;margin-top:1rem}.recipe-add-ingredient-btn:hover{background:#254b5a;color:#f2f2f2;transform:translateY(-2px)}.recipe-add-step-btn{background:#335c67;color:#f2f2f2}.recipe-add-step-btn:hover{background:#2a505b;color:#f2f2f2;transform:translateY(-2px)}.filters-reset-btn{background:#3b5963;color:#f2f2f2}.filters-reset-btn:hover{background:#2f4a53;color:#f2f2f2}.gallery-cancel-delete-btn{background:#4f6d7a;color:#f2f2f2}.gallery-cancel-delete-btn:hover{background:#3f5b67;color:#f2f2f2}.note-delete-cancel-btn{background:#587683;color:#f2f2f2}.note-delete-cancel-btn:hover{background:#46616d;color:#f2f2f2}.shared-error-home-btn{background:#16313e;color:#f2f2f2}.shared-error-home-btn:hover{background:#102630;color:#f2f2f2}.detail-download-btn{background:#244753;color:#f2f2f2}.detail-download-btn:hover{background:#1c3943;color:#f2f2f2}.detail-share-btn{background:#16313e;color:#f2f2f2}.detail-share-btn:hover{background:#102630;color:#f2f2f2}.detail-qr-btn{background:#355c67;color:#f2f2f2}.detail-qr-btn:hover{background:#294952;color:#f2f2f2}.detail-copy-link-btn{background:#4f7281;color:#f2f2f2}.detail-copy-link-btn:hover{background:#3f5f6d;color:#f2f2f2}.detail-qr-copy-btn{background:#4f7281;color:#f2f2f2}.detail-qr-copy-btn:hover{background:#3f5f6d;color:#f2f2f2}.detail-qr-open-btn{background:#16313e;color:#f2f2f2}.detail-qr-open-btn:hover{background:#102630;color:#f2f2f2}.shared-action-btn-add{background:#16313e;color:#f2f2f2}.shared-action-btn-add:hover{background:#102630;color:#f2f2f2;transform:translateY(-2px);box-shadow:0 4px 15px #134b8b1a}.shared-action-btn-print{background:#f7fbfb;color:#16313e;border:2px solid rgba(140,188,210,.3)}.shared-action-btn-print:hover{background:#eef6f6;color:#16313e}.btn-hover{background:#355c67;color:#fff}.btn-hover:hover{background:#4a6a76}.btn-danger{background:#e57373;color:#f2f2f2;padding:7px 15px}.btn-danger:hover{background:#f44336}.btn-add{background:#16313e;display:inline-flex;align-items:center;justify-content:center;padding:10px 18px;color:#f7fbff;gap:8px;white-space:nowrap}.btn-add:hover{background:#244753;color:#fff}.btback{background:none;background:#f7fbfb;color:var(--primary);border:1.5px solid rgba(47,86,97,.55)}.btback:hover{background:#ebf0f0df;color:var(--primary)}.btn-new-recipe{background:#16313e;color:#f7fbff;border:none;padding:10px 18px;border-radius:18px;box-shadow:0 8px 24px #2f55602e;display:inline-flex;align-items:center;gap:8px}.btn-new-recipe:hover{background:#102630;transform:translateY(-2px)}.close-btn{position:absolute;top:1rem;right:1rem;background:#fff;border:none;border-radius:50%;width:50px;height:50px;display:flex;align-items:center;justify-content:center;cursor:pointer;font-size:1.2rem;color:#3e2723;z-index:10;transition:all .3s ease;box-shadow:0 4px 12px #3e27230d}.close-btn:hover{box-shadow:0 4px 12px #3e272333}.modal-overlay{position:fixed;inset:0;background:#000000b3;display:flex;align-items:center;justify-content:center;z-index:1000;padding:clamp(.75rem,2vw,2rem);overflow-y:auto}.recipe-detail-overlay{padding:0;align-items:stretch;justify-content:stretch;background:#eef0ef}.recipe-form-overlay{padding:0;align-items:stretch;justify-content:stretch;background:#eef0ef;overflow:hidden}.modal-content{background:#4a6a76;border-radius:20px;width:min(800px,100%);min-width:0;max-height:90vh;overflow-y:auto;position:relative}.recipe-detail-overlay .modal-content.recipe-page-detail{width:100vw;min-height:100vh;min-height:100dvh;max-width:none;max-height:none;border-radius:0;background:#eef0ef}.modal-content .btn,.modal-content .btn-add{width:auto}.nav-confirm-overlay{position:fixed;inset:0;background:#000000b8;display:flex;align-items:center;justify-content:center;z-index:10020;padding:1.5rem}.nav-confirm-modal{width:min(560px,100%);background:#fff;border-radius:18px;padding:1.75rem;box-shadow:0 20px 60px #00000047}.nav-confirm-modal h3{margin:0 0 .75rem;color:#2f5661;font-size:1.25rem}.nav-confirm-modal p{margin:0 0 1.25rem;color:#5b6770}.nav-confirm-actions{display:flex;flex-wrap:wrap;gap:.75rem;justify-content:flex-end}.nav-confirm-actions .btn{min-width:160px}.modal-content .form-actions .btn,.modal-content .form-actions .btn-add{width:100%}.modal-content button,.modal-content input[type=button],.modal-content input[type=submit],.modal-content .btn,.modal-content .btn-add{display:inline-flex!important;max-width:none!important}.loading{text-align:center;padding:4rem 1.5rem;color:#16313e}@keyframes skeleton-shimmer{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-block{position:relative;overflow:hidden;background:linear-gradient(90deg,#9db3bb29,#ffffffb8,#9db3bb29);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite;border-radius:16px}.skeleton-block-line{width:100%;height:.85rem;border-radius:20px}.skeleton-block-line.short{width:62%}.skeleton-block-title{width:78%;height:1.25rem;border-radius:20px}.skeleton-block-section-title{width:40%;height:1rem;border-radius:20px}.skeleton-block-chip{width:100px;height:1.9rem;border-radius:20px}.skeleton-block-button{width:100%;min-height:2.4rem;border-radius:20px}.skeleton-block-rating{width:55%;height:1rem;border-radius:20px}.skeleton-block-image{width:100%;min-height:220px;border-radius:18px}.skeleton-block-circle{width:112px;height:112px;border-radius:50%}.skeleton-block-hero-image{width:140px;height:140px;border-radius:24px}.recipe-grid-skeleton{margin-top:2rem}.recipe-card-skeleton{pointer-events:none}.recipe-card-skeleton .recipe-card-image{border:none;background:transparent;box-shadow:none}.recipe-card-skeleton .recipe-card-content{gap:.75rem}.recipe-card-skeleton .recipe-card-badges{margin-top:0}.empty-state{text-align:center;width:min(100%,720px);margin:0 auto;padding:clamp(2rem,5vw,4rem);color:#16313e;border-radius:24px}.empty-state h3{margin-bottom:1rem;color:#16313e}.recipe-rating,.recipe-rating-large{display:inline-flex;align-items:center;gap:.35rem;color:#16313e;font-weight:600}.rating-stars{color:#ffc857;letter-spacing:.1rem}.recipe-rating .rating-stars{font-size:1.6rem}.recipe-rating-large .rating-stars{font-size:1.8rem}.rating-value{font-size:.95rem;color:#16313e}.rating-votes{font-size:.85rem;color:#16313eb8}.rating-empty .rating-stars{color:#ffc85766}.rating-placeholder{font-size:.85rem;color:#16313ea6;font-style:italic}.search-filters-container{width:100%;max-width:var(--content-max-width);margin:0 auto;padding:clamp(1rem,2vw,1.5rem);border-radius:24px;display:flex;flex-direction:column;gap:1rem;align-items:center}.search-filters-row{display:flex;align-items:flex-start;gap:1rem;width:100%;max-width:100%;justify-content:flex-start;flex-wrap:nowrap}.search-filters-row .btn-new-recipe{min-width:110px;height:var(--control-height);padding:0 16px;display:inline-flex;align-items:center;justify-content:center}.search-filters-row .create-right{margin-left:8px}.search-filters-container{margin-bottom:0}.search-bar{width:320px;max-width:none;flex:1 1 320px;min-width:240px;height:var(--control-height);padding:0 1rem 0 38px;border:2px solid rgba(47,85,96,.12);border-radius:20px;font-size:.98rem;margin-bottom:0;background:#fff;color:#2f5661;box-shadow:0 6px 18px #2f556012;background-image:url("data:image/svg+xml;utf8,<svg xmlns='http://www.w3.org/2000/svg' width='18' height='18' viewBox='0 0 24 24'><path fill='%232f5661' d='M15.5 14h-.79l-.28-.27A6.471 6.471 0 0016 9.5 6.5 6.5 0 109.5 16a6.471 6.471 0 004.23-1.57l.27.28v.79l5 4.99L20.49 19l-4.99-5zM10 15a5 5 0 110-10 5 5 0 010 10z'/></svg>");background-repeat:no-repeat;background-position:12px center;display:inline-flex;align-items:center}.search-bar:focus{outline:none;border-color:#335c67;box-shadow:0 0 0 3px #3f7dcd1a}.filters-row{display:flex;gap:.75rem;align-items:center;justify-content:center;flex-wrap:nowrap;flex:0 0 auto}@media(max-width:900px){.search-filters-row{flex-direction:column;align-items:stretch;overflow-x:visible}.search-bar{width:100%;max-width:100%;min-width:0;flex:1 1 auto}.filters-row{width:100%;justify-content:stretch;flex-wrap:wrap}.filter-group{flex:1 1 180px;min-width:0}.filter-dropdown{width:100%}.filter-select{width:100%;min-width:0}.filter-menu,.search-filters-row .btn-new-recipe{width:100%}.search-filters-row .create-right{margin-left:0}}@media(max-width:560px){.filters-row{display:grid;grid-template-columns:1fr}.filter-group{width:100%}.filter-menu{position:static;margin-top:.35rem;box-shadow:0 12px 26px #2f55601f}}.filter-group{display:inline-flex;flex:0 0 auto}.filter-dropdown{position:relative;flex-direction:column;align-items:stretch;padding-bottom:.15rem}.filter-label{display:none}.filter-select{-webkit-appearance:none;-moz-appearance:none;appearance:none;min-height:2.75rem;min-width:138px;padding:.45rem .85rem;border:1px solid rgba(47,85,96,.16);border-radius:18px;background:#fff;color:#2f5661;font-size:.9rem;box-shadow:0 8px 22px #2f55600f;display:inline-flex;align-items:center;justify-content:space-between;gap:.65rem;cursor:pointer;width:100%;text-align:left;transition:transform .16s ease,box-shadow .16s ease,border-color .16s ease,background-color .16s ease}.filter-select:focus,.filter-select:focus-visible{outline:none;border-color:#2f556061;box-shadow:0 10px 24px #2f55601f}.filter-trigger:hover{transform:translateY(-1px);border-color:#2f556047;box-shadow:0 12px 26px #2f55601a}.filter-trigger-label{font-size:.66rem;text-transform:uppercase;letter-spacing:.07em;color:#6d8790;flex:0 0 auto}.filter-trigger-value{flex:1 1 auto;font-weight:800;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.filter-trigger-icon{flex:0 0 auto;font-size:.75rem;color:#5c7780}.filter-menu{position:absolute;top:calc(100% + .12rem);left:0;z-index:20;min-width:100%;padding:.3rem;border:1px solid rgba(47,85,96,.16);border-radius:16px;background:#fffffffa;box-shadow:0 14px 28px #2f556024;-webkit-backdrop-filter:blur(12px);backdrop-filter:blur(12px);display:grid;gap:.18rem}.filter-option{border:0;border-radius:12px;padding:.58rem .75rem;background:transparent;color:#2f5661;font-size:.88rem;font-weight:700;text-align:left;cursor:pointer;transition:background-color .16s ease,color .16s ease,transform .16s ease}.filter-option:hover,.filter-option:focus-visible{outline:none;border:1px solid #16313e;color:#16313e}.filter-option.selected{background:#16313e;color:#eaeaea}.filter-option:active{transform:scale(.985)}@media(max-width:768px){.app{width:min(calc(100% - .5rem),var(--page-max-width));padding:.75rem;gap:1rem}.app-title{font-size:2rem}.filters-row{grid-template-columns:1fr}.close-btn{position:absolute;top:1rem;right:1rem;width:32px;height:32px;font-size:1.2rem}}@media(max-width:480px){.app{width:100%;padding:.5rem}.modal-overlay{padding:.5rem}.close-btn{top:.8rem;right:.8rem;width:28px;height:28px;font-size:1rem}.search-filters-container,.empty-state{border-radius:18px}}.app-footer{text-align:center;padding:2rem 0;color:#5c7780;font-size:.9rem;margin-top:auto}.recipe-grid{display:grid;grid-template-columns:repeat(4,minmax(0,1fr));gap:1.25rem;margin-top:2rem;align-items:stretch}.recipe-card-wrapper{display:flex}.catalogue-header{width:min(1100px,calc(100% - 2rem));margin:2rem auto 0;text-align:center}.catalogue-header h1{margin:0 0 .4rem;color:#16313e}.catalogue-header p{margin:0 auto;max-width:620px;color:#4f7281;font-size:.95rem}.catalogue-author{display:block;text-align:center;margin-top:.4rem;font-size:.82rem;font-style:italic;color:#4f7281}.catalogue-author-own{font-style:normal;font-weight:600;color:#2f5661}.recipe-card{position:relative;display:flex;flex-direction:column;width:100%;min-width:0;cursor:pointer;background:#fff;border:1px solid rgba(47,86,97,.14);border-radius:16px;overflow:hidden;box-shadow:0 6px 18px #1729380f;transition:transform .2s ease,box-shadow .2s ease}.recipe-card:hover{transform:translateY(-4px);box-shadow:0 14px 32px #1729381f}.recipe-card-media{position:relative;width:100%;height:150px;flex-shrink:0;background:#dde5e3}.recipe-card-media-img{width:100%;height:100%;object-fit:cover;display:block}.recipe-card-media-placeholder{width:100%;height:100%;background:#e7ece9 url(/miam.webp) center / 56px no-repeat}.recipe-visibility-badge{position:absolute;top:.6rem;left:.6rem;z-index:2;padding:.18rem .6rem;border-radius:20px;font-size:.7rem;font-weight:600;letter-spacing:.01em;border:1px solid rgba(47,86,97,.26)}.recipe-visibility-badge.is-public{background:#2f5661;color:#fff;border-color:#2f5661}.recipe-visibility-badge.is-private{background:#fff;color:#325562}.recipe-visibility-badge.is-link{background:#618594;color:#fff;border-color:#618594}.recipe-card-body{display:flex;flex-direction:column;flex:1;min-width:0;padding:12px 14px 14px;gap:6px}.recipe-card-title{margin:0;font-size:1.05rem;line-height:1.25;font-weight:700;color:#16313e}.recipe-card-author{font-size:.76rem;font-style:italic;color:#7a8a8d;margin-top:-2px}.recipe-card-author.is-own{font-style:normal;font-weight:600;color:#2f5661}.recipe-card-desc{margin:0;color:#4f7281;font-size:.84rem;line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.recipe-card-bottom{margin-top:auto;display:flex;flex-direction:column;gap:9px;padding-top:8px}.recipe-card-meta{display:flex;flex-wrap:wrap;gap:7px}.recipe-meta-pill{display:inline-flex;align-items:center;gap:4px;background:#f4f8f9;color:#325562;font-size:.74rem;font-weight:600;padding:4px 9px;border-radius:20px;border:1px solid rgba(47,86,97,.12)}.recipe-meta-pill svg{width:13px;height:13px}.recipe-card-edit-btn{width:100%;height:2.3rem;border:0;border-radius:12px;background:#335c67;color:#fff;cursor:pointer;display:inline-flex;align-items:center;justify-content:center;font-size:.8rem;font-weight:700;letter-spacing:.02em;text-transform:uppercase;transition:background .18s ease}.recipe-card-edit-btn:hover{background:#254b5a}.recipe-rating{display:flex;align-items:center;gap:6px}.rating-stars{color:#f2b41d;font-size:1rem;letter-spacing:.12rem}.rating-value{font-size:.74rem;font-weight:600;color:#7a8a8d}.recipe-rating .rating-placeholder{font-size:.72rem;color:#7a8a8d}.recipe-rating .rating-votes{display:none}.recipe-tag{display:inline-flex;align-items:center;justify-content:center;height:var(--control-height);padding:0 12px;border-radius:20px;border:1px solid rgba(47,86,97,.26);background:#fff;color:#325562;font-size:.82rem;font-weight:600}.recipe-tag--ghost{background:#f8fbfd}.recipe-time,.recipe-servings{display:inline-flex;align-items:center;justify-content:center;min-width:62px;height:var(--control-height);padding:0 12px;border-radius:20px;border:1px solid rgba(47,86,97,.26);background:#f8fbfd;color:#325562;font-size:.8rem;font-weight:600}@media(max-width:1300px){.recipe-grid{grid-template-columns:repeat(3,minmax(0,1fr))}}@media(max-width:980px){.recipe-grid{grid-template-columns:repeat(2,minmax(0,1fr));gap:1rem}}@media(max-width:768px){.recipe-grid{grid-template-columns:1fr;gap:10px;margin-top:1.25rem}.recipe-card{flex-direction:row;border-radius:14px}.recipe-card-media{width:108px;height:auto;align-self:stretch}.recipe-card-media-placeholder{background-size:40px}.recipe-visibility-badge{top:6px;left:6px;font-size:.64rem;padding:2px 7px}.recipe-card-body{padding:10px 12px;gap:4px}.recipe-card-title{font-size:.98rem}.recipe-card-desc{font-size:.8rem}.recipe-card-bottom{gap:7px;padding-top:6px}}.modal-content.recipe-page-detail{padding:0;background:#eef0ef;border-radius:0;box-shadow:none;width:100vw;max-width:none;min-height:100dvh;max-height:none;overflow-y:auto}.recipe-page-detail{max-width:none;transform:scale(1.33);transform-origin:top center;width:calc(100% / 1.33);max-width:calc(40vw / 1.33);margin:0 auto;min-height:100dvh;background:transparent;border-radius:0;overflow:visible;box-shadow:none}@media(max-width:900px){.recipe-page-detail{transform:none;width:100%}}.recipe-detail-header{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:1.1rem;padding:2.1rem 1rem .6rem}.recipe-detail-header-actions{position:absolute;top:.8rem;right:3.6rem;display:flex;gap:.5rem;align-items:center;z-index:12}.recipe-detail-header-actions .recipe-tool-btn{background:transparent;border:1px solid rgba(47,86,97,.08);color:#2f5661;padding:6px 8px;border-radius:8px;min-width:36px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700}.recipe-detail-header-actions .recipe-tool-btn:hover{background:#2f56610f}.recipe-qr-icon{position:absolute;top:.9rem;left:1rem;background:transparent;border:1px solid rgba(47,86,97,.08);color:#2f5661;padding:6px 8px;border-radius:8px;min-width:36px;height:32px;display:inline-flex;align-items:center;justify-content:center;cursor:pointer;font-weight:700;z-index:12}.recipe-qr-icon:hover{background:#2f56610f}.recipe-qr-popover{position:absolute;top:3.2rem;left:1rem;width:220px;padding:.75rem;background:#fff;border:1px solid rgba(47,86,97,.12);border-radius:10px;box-shadow:0 8px 30px #17293814;display:flex;flex-direction:column;align-items:center;gap:.5rem;z-index:1200}.recipe-detail-image{width:200px;height:200px;border-radius:40px;overflow:hidden;margin:0 auto;box-shadow:0 4px 16px #254b5a1f;background:#fff}.recipe-detail-image img{width:100%;height:100%;object-fit:cover}.placeholder-image{width:100%;height:100%;background:linear-gradient(135deg,#335c67,#4f6d7a);display:flex;align-items:center;justify-content:center;font-size:4rem;color:#f2f2f2}.recipe-detail-title-section{width:min(1100px,calc(100% - 2rem));margin:0 auto;text-align:center;position:relative}.recipe-detail-title{font-size:3.6rem;color:#2f5661;margin:0;font-weight:700}.recipe-detail-description{font-size:1.9rem;color:#4f7281;margin:.35rem 0 .7rem;line-height:1.45}.recipe-detail-badges{display:flex;gap:.5rem;justify-content:center;margin-bottom:.5rem;flex-wrap:wrap}.badge{padding:.3rem .75rem;border-radius:20px;font-size:.72rem;font-weight:600;color:#2f5661;background:#fff;border:1px solid rgba(47,86,97,.18)}.recipe-rating-large{font-size:1.1rem}.recipe-detail-actions{display:flex;gap:.65rem;justify-content:center;padding:.65rem 0 .35rem;border-bottom:none;flex-wrap:wrap}.detail-action-btn{min-width:124px;height:2.7rem;padding-inline:1.1rem;border-radius:20px;box-shadow:0 4px 14px #254b5a1f}.detail-action-btn:disabled{opacity:.7;cursor:not-allowed}.edit-fab{position:absolute;top:.5rem;right:.5rem;width:1.7rem;height:1.7rem;border:none;border-radius:50%;background:transparent;color:#6f8e99;box-shadow:none;cursor:pointer;font-size:1rem}.edit-fab:hover{transform:translateY(-1px);color:#2f5661}.share-link-section{width:min(1100px,calc(100% - 2rem));margin:1.4rem auto 1.8rem;padding:1.8rem;background:#fff;border:1px solid rgba(47,86,97,.16);border-radius:18px}.share-link-section h3{color:#2f5661;margin-bottom:0;font-size:1.4rem}.share-link-topline{display:flex;align-items:stretch;justify-content:space-between;gap:1rem;margin-bottom:.75rem}.share-link-input{flex-grow:1;padding:1.45rem 1.05rem;border:2px solid rgba(140,182,210,.35);border-radius:12px;background:#fff;color:#335c67;font-family:monospace;font-size:2.2rem}.share-link-input:focus{outline:none;border-color:#4a6a76}.share-link-info{color:#f2f2f2;font-size:.9rem;line-height:1.4;margin:0;font-style:italic}.share-link-grid{display:grid;grid-template-columns:minmax(0,1fr) auto;gap:.9rem;align-items:center}.share-qr-card{display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.6rem;padding:1.2rem;border-radius:18px;border:1px solid rgba(47,86,97,.16);background:#fff;text-decoration:none;color:#2f5661;width:300px}.share-qr-card img{width:260px;height:260px;display:block}.share-qr-card span{text-align:center;font-size:.82rem;font-weight:600}.recipe-detail-times{display:grid;grid-template-columns:repeat(auto-fit,minmax(260px,1fr));gap:1.6rem;width:min(1100px,calc(100% - 2rem));margin:0 auto;padding:1.5rem 0 1.8rem;border-bottom:none}.time-info{text-align:center;padding:1.6rem;background:#fff;border-radius:14px;box-shadow:0 4px 14px #13558b14;border:1px solid rgba(47,86,97,.16)}.time-label{display:block;font-size:1.25rem;color:#2f5661;margin-bottom:.5rem}.time-value{display:block;font-size:2.6rem;font-weight:600;color:#2f5661;text-align:center}.time-total{background:#eef0ef!important;font-weight:700}.servings-calculator{width:min(1100px,calc(100% - 2rem));margin:0 auto;padding:.9rem 0 1.2rem;text-align:center;border-bottom:none}.servings-calculator h3{margin-bottom:.5rem;color:#2f5661;font-size:1.4rem}.servings-controls{display:flex;align-items:center;justify-content:center;gap:1rem;margin-bottom:1rem}.servings-input{background:#fff;border:2px solid rgba(47,86,97,.18);border-radius:14px;padding:.6rem .9rem;font-size:1.4rem;font-weight:800;text-align:center;width:90px;color:#335c67}.servings-input:focus{outline:none;border-color:#3f88cd;box-shadow:0 0 0 3px #3f7dcd1a}.servings-unit-input{width:100%;max-width:320px;margin:0 auto;display:block;border:1px solid rgba(47,86,97,.18);border-radius:10px;padding:.65rem .8rem;text-align:center;color:#2f5661;background:#fff;box-shadow:0 8px 18px #1f4c5e0d;font-weight:600}.servings-unit-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.servings-unit{font-size:1rem;font-weight:500;color:#2f5661;min-width:100px;text-align:left}.servings-display{font-size:1.2rem;font-weight:600;color:#2f5661;min-width:120px}.proportions-info{color:#2f5661;font-weight:500;font-style:italic}.portions-alert{background:#f8fbfd;border:1px solid rgba(47,86,97,.26);border-radius:12px;padding:.7rem 1rem;margin:0 0 1rem;color:#325562;font-size:.9rem;line-height:1.4}.rating-selector{display:flex;gap:.25rem}.rating-star{background:none;border:none;padding:0;cursor:pointer;font-size:1.8rem;line-height:1;color:#2f566140;transition:color .12s ease,transform .12s ease}.rating-star:hover{transform:scale(1.12)}.rating-star.is-filled{color:#f2b41d}.recipe-detail-section{width:min(1100px,calc(100% - 2rem));margin:0 auto 1.8rem;padding:0;border-bottom:none}.recipe-detail-section:last-child{border-bottom:none}.recipe-detail-section h3{font-size:1.4rem;color:#2f5661;margin-bottom:.75rem;font-weight:700;text-align:center}.ingredients-list{list-style:none;display:grid;gap:1.15rem}.ingredient-item{display:flex;align-items:center;gap:1.2rem;padding:1.4rem 1.3rem;background:#fff;border-radius:18px;border:1px solid rgba(47,86,97,.16)}.ingredient-quantity{font-weight:800;color:#2f5661;min-width:200px}.ingredient-name{flex-grow:1;color:#2f5661}.original-quantity{font-size:.8rem;color:#2f5661;font-style:italic}.steps-list{list-style:none;display:grid;gap:2.6rem;margin-bottom:3.2rem}.step-item{display:flex;gap:1.8rem;align-items:flex-start}.step-number{background:#2f5661;color:#f2f2f2;width:110px;height:110px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:800;flex-shrink:0}.step-text{flex-grow:1;padding:2.4rem 2.6rem;line-height:1.95;color:#2f5661;background:#fff;border-radius:18px;min-height:360px;max-height:620px;overflow-y:auto;word-wrap:break-word;-webkit-hyphens:auto;hyphens:auto;display:flex;align-items:flex-start}.tags-list{display:flex;gap:.5rem;flex-wrap:wrap}.tag{background:#fff;color:#2f5661;padding:.6rem 1.15rem;border-radius:24px;font-size:1.05rem;font-weight:700;border:1px solid rgba(47,86,97,.18)}.recipe-notes{background:#fff;padding:1rem;border-radius:14px;border:1px solid rgba(140,194,210,.3);line-height:1.6;color:#335c67}@media(max-width:768px){.recipe-page-detail{width:100%;max-width:none}.recipe-detail-header{padding:1.4rem .75rem .5rem;gap:.85rem}.recipe-detail-title-section{width:calc(100% - 1rem)}.recipe-detail-title{font-size:2rem}.recipe-detail-description{font-size:1rem}.recipe-detail-image{width:150px;height:150px;border-width:5px;border-radius:28px}.recipe-detail-times{grid-template-columns:1fr;gap:.6rem;padding:.75rem 0;width:calc(100% - 1rem)}.time-info{padding:.7rem .5rem}.time-label{font-size:.82rem;margin-bottom:.2rem}.time-value{font-size:1.1rem}.time-total{grid-column:auto}.recipe-detail-actions{flex-direction:column;width:calc(100% - 1rem);margin:0 auto}.detail-action-btn{width:100%;min-width:0}.recipe-detail-section{width:calc(100% - 1rem)}.ingredients-list{gap:.75rem}.ingredient-item{flex-direction:column;align-items:flex-start;gap:.35rem;padding:.9rem .85rem;border-radius:14px}.ingredient-quantity{min-width:0;font-size:.86rem}.ingredient-name{font-size:.9rem}.share-link-grid{grid-template-columns:1fr}.share-qr-card{width:100%}}@media(max-width:480px){.recipe-page-detail{width:100%}.recipe-detail-header{padding-top:1.1rem}.recipe-detail-title{font-size:1.55rem}.recipe-detail-description{font-size:.92rem}.recipe-detail-image{width:120px;height:120px;border-width:4px;border-radius:22px}.recipe-detail-times{gap:.5rem;padding:.75rem 0}.time-info{padding:.5rem .35rem;border-radius:8px}.time-label{font-size:.65rem}.time-value{font-size:.9rem}.recipe-detail-section h3{font-size:.95rem;margin-bottom:.6rem}.step-item{gap:.75rem}.step-number{width:78px;height:78px;font-size:.9rem}.step-text{min-height:0;max-height:none;padding:.9rem 1rem;border-radius:14px;font-size:.9rem;line-height:1.55}}@media(max-width:480px){.step-text{min-height:100px;max-height:800px;width:100%}}.modal-content.recipe-form{background:#eef0ef;border-radius:0;border:none;box-shadow:none;padding:0;min-width:0;width:100%;max-width:100%;min-height:100dvh;height:100dvh;max-height:100dvh;display:flex;flex-direction:column;box-sizing:border-box;overflow-y:auto;overflow-x:hidden;-webkit-overflow-scrolling:touch;overscroll-behavior-y:contain}.recipe-form{width:100%;max-width:none;max-height:100%;min-width:0}.recipe-edit-page{display:flex;flex-direction:column;align-items:center;width:100%;min-width:0;min-height:0;height:100%}.recipe-edit-form{width:100%;max-width:none;display:flex;justify-content:center;min-width:0;min-height:0;height:100%}.recipe-edit-content{width:min(800px,calc(100% - 2rem));max-width:800px;margin:0 auto;padding:0 0 2rem;display:flex;flex-direction:column;align-items:center;gap:0;box-sizing:border-box;min-width:0;min-height:100%}.recipe-edit-content,.recipe-form-content,.recipe-edit-times,.recipe-edit-servings,.recipe-edit-section,.recipe-edit-actions,.form-grid,.form-row,.form-section,.recipe-preview{min-width:0}.recipe-edit-content *,.recipe-form-content *{min-width:0;box-sizing:border-box}.recipe-edit-header{padding-bottom:.5rem;width:100%;box-sizing:border-box}.recipe-edit-image{margin-top:5rem}.recipe-edit-image-actions{display:flex;justify-content:center;flex-wrap:wrap;gap:.55rem;margin-top:.8rem}.recipe-form-lazy-placeholder{width:100%;min-height:120px;border-radius:16px;margin:.35rem 0;background:linear-gradient(90deg,#9db3bb24,#ffffffbd,#9db3bb24);background-size:200% 100%;animation:skeleton-shimmer 1.35s ease-in-out infinite}.recipe-edit-image-input{display:none}.recipe-edit-title-section{margin-top:.25rem;width:100%;box-sizing:border-box}.recipe-edit-title-input{width:100%;border:1px solid rgba(47,86,97,.14);background:#fff;color:#2f5661;font-size:1.7rem;font-weight:700;text-align:center;line-height:1.15;padding:.78rem .95rem;margin:0;border-radius:18px;box-shadow:0 10px 22px #1f4c5e0f}.recipe-edit-title-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.recipe-edit-description-input{width:100%;border:1px solid rgba(47,86,97,.14);background:#fff;color:#4f7281;font-size:.98rem;line-height:1.5;text-align:center;resize:vertical;min-height:62px;margin:.35rem 0 .6rem;padding:.78rem .95rem;border-radius:16px;box-shadow:0 8px 18px #1f4c5e0d}.recipe-edit-description-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.recipe-edit-edit-hint{display:inline-flex;align-items:center;gap:.35rem;align-self:center;margin-top:-.1rem;margin-bottom:.55rem;padding:.38rem .72rem;border-radius:20px;background:#ffffffe6;border:1px dashed rgba(79,109,122,.28);color:#5f7e89;font-size:.78rem;font-weight:700;letter-spacing:.01em;box-shadow:0 6px 14px #1f4c5e0d;transition:opacity .18s ease,transform .18s ease}.recipe-edit-title-section:focus-within .recipe-edit-edit-hint{opacity:0;transform:translateY(-4px);pointer-events:none}.recipe-edit-meta-grid{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.75rem;margin-top:.5rem;width:100%;box-sizing:border-box}.recipe-edit-meta-field{display:flex;flex-direction:column;gap:.35rem;text-align:left}.recipe-edit-meta-field span{font-size:.78rem;font-weight:700;color:#2f5661;text-transform:uppercase;letter-spacing:.04em}.recipe-edit-meta-input{margin-bottom:0;background:#fff;border-radius:14px}.recipe-edit-times{display:grid;gap:.6rem;width:min(560px,100%);grid-template-columns:repeat(auto-fit,minmax(120px,1fr))}.recipe-edit-time-input{width:100%;border:none;background:#fff;text-align:center;padding:.8rem .5rem;margin:0;color:#2f5661;font-size:1.45rem;font-weight:700;border-radius:14px}.recipe-edit-time-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.recipe-edit-servings{width:min(560px,100%);margin-top:.25rem}.recipe-edit-servings-controls{margin-bottom:.25rem}.recipe-edit-servings-input{margin-bottom:0}.recipe-edit-servings-unit-input{width:100%;max-width:320px;margin:0 auto;display:block;border:1px solid rgba(47,86,97,.18);border-radius:10px;padding:.65rem .8rem;text-align:center;color:#2f5661;background:#fff;box-shadow:0 8px 18px #1f4c5e0d}.recipe-edit-servings-unit-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.recipe-edit-section{width:min(560px,100%)}.recipe-edit-ingredients-list{gap:.75rem}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item{position:static;min-height:0;padding:.85rem .9rem;background:#fff;border-radius:16px;border:1px solid rgba(47,86,97,.16);text-align:left;display:grid;grid-template-columns:2fr 1fr .9fr auto;align-items:center;gap:.65rem}@media(max-width:1100px){.recipe-edit-content{width:min(100%,calc(100% - 2rem));max-width:none}}@media(max-width:760px){.recipe-edit-content{width:min(100%,calc(100% - 1rem))}}@media(max-width:900px){.recipe-edit-meta-grid{grid-template-columns:repeat(2,minmax(0,1fr))}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item{grid-template-columns:1fr 100px 80px auto}}.ingredient-item.recipe-edit-ingredient-item .recipe-edit-ingredient-input{width:100%;margin-bottom:0;background:#fbfcfc;border-radius:12px;box-shadow:inset 0 1px #fffc}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item .btn-small{flex:0 0 auto;justify-self:center}.recipe-edit-steps-list{gap:1rem}.recipe-edit-step-item{display:flex;align-items:flex-start;gap:1rem}.recipe-edit-step-box{min-height:180px;width:100%;display:flex;flex-direction:column}.recipe-edit-step-input{min-height:120px;width:100%;background:#fff;border:1px solid rgba(47,86,97,.14);resize:vertical;padding:.95rem 1rem;margin:0;border-radius:16px;box-shadow:0 8px 18px #1f4c5e0d}.recipe-edit-step-input:focus{outline:none;border-color:#4f6d7a6b;box-shadow:0 0 0 4px #4f6d7a1a}.recipe-edit-upload-state{display:inline-flex;align-items:center;color:#6f8e99;font-size:.85rem;font-weight:600}.recipe-edit-section .form-group:last-child{margin-bottom:0}.recipe-edit-section .form-input,.recipe-edit-section .form-select,.recipe-edit-section .form-textarea{margin-bottom:.65rem}.recipe-edit-actions{width:min(560px,calc(100% - 2rem));margin:0 auto;padding-bottom:8rem}.form-header{display:flex;justify-content:space-between;align-items:center;width:min(1200px,calc(100% - 3rem));margin:1rem auto 0;padding:.25rem 0 .75rem;border-bottom:none;background:transparent;box-shadow:none;flex-shrink:0}.form-header h2{color:#2f5661;font-size:1.6rem;font-weight:600}.recipe-form-content{flex:1;width:min(1200px,calc(100% - 3rem));margin:0 auto;padding:0 0 2rem;overflow-y:visible;background:transparent;color:#2f5661}.form-grid{display:grid;grid-template-columns:minmax(260px,420px) 1fr;gap:1.25rem;align-items:start}.recipe-preview{background:#fff;border:1px solid rgba(47,86,97,.16);border-radius:14px;padding:1rem;box-shadow:0 8px 22px #1f4c5e0f;display:flex;flex-direction:column;gap:.85rem}.preview-image{width:100%;height:160px;border-radius:12px;overflow:hidden;border:3px solid var(--primary, #2f5661);background:#fff}.preview-image img{width:100%;height:100%;object-fit:cover;display:block}.recipe-preview .recipe-title{font-size:1.1rem;margin:0;font-weight:700}.recipe-preview .recipe-description{color:#4f7281;font-size:.9rem;margin:0}.recipe-preview .badge{margin-right:.4rem}.form-section{margin-bottom:1.75rem;padding:1.25rem;border-radius:22px;color:#2f5661;background:#fff;border:1px solid rgba(47,86,97,.16);box-shadow:0 4px 14px #13558b14}.form-section:last-of-type{margin-bottom:0}.form-section h3{color:#2f5661;font-size:1rem;margin-bottom:1rem;font-weight:700;text-align:center}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:1rem;margin-bottom:1rem}.form-group{display:flex;flex-direction:column}.form-group label{font-weight:600;color:#2f5661;margin-bottom:.35rem}.form-input,.form-select,.form-textarea{padding:.75rem .9rem;border:1px solid rgba(47,86,97,.18);border-radius:14px;font-size:.95rem;background:#fff;color:#2f5661;transition:border-color .3s ease,box-shadow .3s ease;margin-bottom:.9rem;box-shadow:0 4px 14px #13558b14}.form-input:focus,.form-select:focus,.form-textarea:focus{outline:none;border-color:#4f6d7ae6;box-shadow:0 0 0 3px #4f6d7a26}.form-textarea{resize:vertical;min-height:80px;font-family:inherit;line-height:1.5}.base-calculation-block{background:#fff;border:1px solid rgba(47,86,97,.16);border-radius:18px;padding:1rem;margin:1rem 0 1.25rem;box-shadow:0 4px 14px #13558b14}.base-calculation-block label{font-weight:700;color:#2f5661;margin-bottom:.8rem;font-size:.95rem;display:flex;align-items:center;gap:.5rem}.base-input-group{background:#fff;padding:.8rem;border-radius:12px;border:1px solid rgba(63,136,197,.3);box-shadow:0 4px 14px #13558b14;display:flex;gap:1rem;align-items:center;margin-bottom:.5rem}.base-input-group .base-value{flex:0 0 120px;font-weight:600;text-align:center}.base-input-group .base-unit{flex:1}.form-hint{color:#2f5661;font-size:.9rem;font-style:italic;margin-top:.5rem;display:block;background:#fff;padding:.65rem .85rem;border-radius:10px;border:1px solid rgba(47,86,97,.16)}.ingredient-row{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem}.ingredient-row .form-input{flex:1}.ingredient-row .form-input:nth-child(1){flex:2}.ingredient-row .form-input:nth-child(2){flex:1}.ingredient-row .form-input:nth-child(3){flex:1}.step-row{display:flex;gap:1rem;align-items:flex-start;margin-bottom:1rem;width:100%}.step-row .step-number{background:#335c67;color:#f2f2f2;width:35px;height:35px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-weight:600;flex-shrink:0;margin-top:.75rem}.step-row .form-textarea{flex-grow:1;min-height:80px;resize:vertical;width:100%;box-sizing:border-box}.step-input-container{flex-grow:1;position:relative;width:100%}.step-input-container .form-textarea{width:100%;min-height:80px;resize:vertical;box-sizing:border-box}.character-counter{font-size:.75rem;color:#666;text-align:right;margin-top:.25rem}.counter-warning{color:#ff6b35!important;font-weight:600}.form-actions{display:flex;gap:1rem;justify-content:center;padding-top:.5rem;border-top:none}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.section-header h3{margin:0;color:#2f5661;font-size:.95rem;font-weight:700}.visibility-compact{display:flex;align-items:center;gap:.75rem}.visibility-compact-label{font-size:.9rem;color:#2f5661;margin:0}.visibility-compact-options{display:flex;gap:.5rem}.visibility-compact-btn{min-width:80px;height:32px;border:1px solid rgba(47,86,97,.18);border-radius:8px;background:#fff;color:#2f5661;font-size:11px;font-weight:500;cursor:pointer;transition:all .2s ease;display:flex;align-items:center;justify-content:center;padding:0 8px;white-space:nowrap}.visibility-compact-btn:hover{background:#eef6fb;border-color:#2f566152;transform:translateY(-1px)}.visibility-compact-btn.active{background:#254b5a;border-color:#254b5a;color:#fff;box-shadow:0 4px 14px #254b5a29}@media(max-width:768px){.modal-content.recipe-form{min-width:0;width:100%;max-width:100%;height:100dvh;max-height:100dvh;border-radius:0;overflow-y:auto}.recipe-form{max-width:100%;max-height:none;margin:0}.form-header{width:min(100%,calc(100% - 1rem));padding:.25rem 0 .6rem;flex-direction:row;gap:1rem;text-align:left}.form-header h2{font-size:1.4rem;margin:0}.recipe-edit-header{padding-bottom:.35rem}.recipe-edit-image-actions{gap:.45rem}.recipe-edit-title-section{margin-top:.15rem}.recipe-edit-title-input{font-size:1.55rem}.recipe-edit-description-input{font-size:1rem}.recipe-edit-meta-grid{grid-template-columns:1fr;gap:.55rem}.recipe-edit-section,.recipe-edit-times,.recipe-edit-servings,.recipe-edit-actions{width:min(100%,calc(100% - 1rem))}.recipe-edit-step-item{gap:.75rem}.recipe-edit-ingredient-item{padding:.75rem .8rem;grid-template-columns:1fr}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item{grid-template-columns:1fr;gap:.45rem;align-items:stretch}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item .recipe-edit-ingredient-input{width:100%}.recipe-edit-section .ingredient-item.recipe-edit-ingredient-item .btn-small{justify-self:start}.recipe-form-content{width:min(100%,calc(100% - 1rem))}.form-section{margin-bottom:1.1rem;padding:.95rem}.form-section h3{font-size:.92rem;margin-bottom:.75rem}.form-row{grid-template-columns:1fr;gap:.8rem;margin-bottom:.8rem}.ingredient-row,.step-row{flex-direction:column;gap:.5rem}.ingredient-row .form-input{flex:none;width:100%}.step-row .step-number{align-self:flex-start;margin-top:0;width:30px;height:30px;font-size:.9rem}.step-row .form-textarea{min-height:60px;width:100%}.base-calculation-block{padding:1rem;margin:1rem 0}.base-input-group{flex-direction:column;gap:.5rem;align-items:stretch}.base-input-group .base-value,.base-input-group .base-unit{flex:none;width:100%}.form-actions{flex-direction:column;gap:.8rem}.form-actions button{width:100%;padding:.8rem;font-size:1rem}.form-actions .btn-add{width:auto;display:inline-flex;padding:.8rem 1rem}.form-input,.form-select,.form-textarea{font-size:16px;-webkit-appearance:none;appearance:none;border-radius:8px}.image-upload-container{text-align:center}.image-upload-container .btn-add{color:#fff!important;cursor:pointer}.upload-label{display:block;padding:1rem;font-size:.9rem}.image-preview img{max-width:100%;max-height:120px}.section-header{flex-direction:column;align-items:flex-start;gap:1rem}.visibility-compact{width:100%;justify-content:space-between;align-self:flex-end}.visibility-compact-options{flex-wrap:wrap;justify-content:flex-end}.visibility-compact-btn{min-width:70px;height:28px;font-size:10px;padding:0 6px}}@media(max-width:480px){.recipe-form{max-height:none}.form-header{padding:.25rem 0 .5rem}.form-header h2{font-size:1.2rem}.recipe-form-content{padding:0 0 1.5rem}.form-section{margin-bottom:1rem;padding-bottom:.95rem}.recipe-edit-title-input{font-size:1.25rem;padding:.7rem .85rem}.recipe-edit-description-input{font-size:.95rem;padding:.7rem .85rem}.recipe-edit-time-input{font-size:1.15rem;padding:.7rem .45rem}.recipe-edit-servings-unit-input{max-width:none}.form-input,.form-select,.form-textarea{padding:.6rem;font-size:.95rem;font-size:16px}.ingredient-row,.step-row{gap:.4rem}.step-row .step-number{width:28px;height:28px;font-size:.8rem}.base-calculation-block{padding:.8rem}.form-actions{margin:0}.form-actions button{padding:.7rem;font-size:.95rem}}.image-upload-container{margin-top:8px}.image-upload-container input[type=file]{display:none}.upload-label{display:inline-block;padding:10px 16px;width:20%;background:#304c58;color:#e4e5e7;border-radius:8px;cursor:pointer;font-size:14px;font-weight:500;transition:background-color .2s}.image-preview{margin-top:12px;display:flex;align-items:center;gap:12px}.remove-image-btn{background:#f44!important;color:#f2f2f2!important;border:none!important;border-radius:4px!important;padding:6px 12px!important;cursor:pointer!important;font-size:12px!important;transition:background-color .2s!important}.remove-image-btn:hover{background:#c00!important}.note-image-uploader{margin-bottom:1rem}.uploader-header{margin-bottom:.8rem}.uploader-header h4{margin:0;color:#335c67;font-size:1rem}.upload-zone{border:2px dashed #165665dc;border-radius:8px;padding:2rem;text-align:center;cursor:pointer;transition:all .3s ease;background:#f2f2f2;min-height:120px;display:flex;align-items:center;justify-content:center}.upload-zone:hover{border-color:#335c67;background:#f2feff}.upload-zone.dragging{border-color:#335c67;background:#e8f7f9;transform:scale(1.02)}.upload-zone.disabled{opacity:.6;cursor:not-allowed}.upload-content{width:100%}.upload-icon{font-size:2rem;margin-bottom:.5rem;color:#335c67}.upload-zone p{margin:.5rem 0;color:#335c67}.upload-hint{font-size:.9rem;color:#666!important}.upload-status{display:flex;flex-direction:column;align-items:center;gap:.5rem}.upload-spinner{width:24px;height:24px;border:3px solid #f3f3f3;border-top:3px solid #335c67;border-radius:50%;animation:spin 1s linear infinite}.upload-limit-reached,.uploader-info{text-align:center;padding:1rem;background:#e8f4fd;border:1px solid #8ccad2;border-radius:8px;color:#335c67}.uploader-info p{margin:0;font-size:.9rem}.note-image-thumbnails{margin:1rem 0}.thumbnails-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(100px,1fr));gap:.8rem;margin-top:.8rem}.thumbnail-item{position:relative;aspect-ratio:1;border-radius:8px;overflow:hidden;cursor:pointer;transition:all .3s ease;border:2px solid transparent;background:#f8f8f8;animation:thumbnailAppear .3s ease}.thumbnail-item:hover{border-color:#8ccad2;transform:scale(1.05)}.thumbnail-image{width:100%;height:100%;object-fit:cover;transition:opacity .3s ease}.thumbnail-item:hover .thumbnail-image{opacity:.8}.thumbnail-overlay{position:absolute;inset:0;background:#335c67cc;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease}.thumbnail-item:hover .thumbnail-overlay{opacity:1}.thumbnail-zoom-icon{font-size:1.5rem;color:#fff}.thumbnail-delete-btn{position:absolute;top:4px;right:4px;width:24px;height:24px;border:none;border-radius:50%;background:#ff4444e6;color:#fff;font-size:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s ease;z-index:2}.thumbnail-item:hover .thumbnail-delete-btn{opacity:1}.thumbnail-delete-btn:hover{background:#f44;transform:scale(1.1)}.mini-delete-confirm{position:fixed;inset:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:10000}.mini-delete-modal{background:#fff;padding:1.5rem;border-radius:8px;max-width:300px;text-align:center;box-shadow:0 4px 20px #0000004d}.mini-delete-modal p{margin:0 0 1rem;color:#335c67}.mini-delete-actions{display:flex;gap:.5rem;justify-content:center}.notes-images-section{margin-bottom:1rem}@keyframes thumbnailAppear{0%{opacity:0;transform:scale(.8)}to{opacity:1;transform:scale(1)}}@media(max-width:768px){.upload-zone{padding:1.5rem 1rem;min-height:100px}.thumbnails-grid{grid-template-columns:repeat(auto-fill,minmax(80px,1fr));gap:.5rem}}@media(max-width:480px){.thumbnails-grid{grid-template-columns:repeat(auto-fill,minmax(60px,1fr))}}.image-gallery-overlay{position:fixed;inset:0;background:#000000f2;z-index:10000;display:flex;align-items:center;justify-content:center}.image-gallery{width:100%;height:100%;display:flex;flex-direction:column;outline:none}.gallery-header{background:#335c67e6;padding:1rem;display:flex;justify-content:space-between;align-items:center;color:#fff}.gallery-info{display:flex;align-items:center;gap:1rem}.image-counter{font-weight:700;background:#fff3;padding:.3rem .8rem;border-radius:20px;font-size:.9rem}.image-name{font-size:.9rem;opacity:.8;max-width:200px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.gallery-actions{display:flex;gap:.5rem}.gallery-btn{width:40px;height:40px;border:none;border-radius:50%;background:#fff3;color:#fff;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;font-size:1rem}.gallery-btn:hover{background:#ffffff4d;transform:scale(1.1)}.delete-btn:hover{background:#f44c}.gallery-main{flex:1;display:flex;align-items:center;justify-content:center;position:relative;padding:1rem}.gallery-nav{position:absolute;top:50%;transform:translateY(-50%);width:50px;height:50px;border:none;border-radius:50%;background:#fff3;color:#fff;font-size:1.5rem;cursor:pointer;transition:all .3s ease;z-index:1}.gallery-nav:hover{background:#ffffff4d;transform:translateY(-50%) scale(1.1)}.prev-btn{left:2rem}.next-btn{right:2rem}.gallery-image-container{max-width:90%;max-height:90%;display:flex;align-items:center;justify-content:center}.gallery-image{max-width:100%;max-height:100%;object-fit:contain;border-radius:8px;box-shadow:0 4px 20px #00000080}.gallery-thumbnails{background:#335c67e6;padding:1rem;max-height:120px;overflow-y:auto}.thumbnails-container{display:flex;gap:.5rem;justify-content:center;flex-wrap:wrap}.gallery-thumbnails .thumbnail{width:60px;height:60px;border:2px solid transparent;border-radius:4px;overflow:hidden;cursor:pointer;transition:all .3s ease;background:none;padding:0}.gallery-thumbnails .thumbnail:hover{border-color:#ffffff80}.gallery-thumbnails .thumbnail.active{border-color:#fff}.gallery-thumbnails .thumbnail img{width:100%;height:100%;object-fit:cover}.swipe-indicator{position:absolute;bottom:2rem;left:50%;transform:translate(-50%);background:#000000b3;color:#fff;padding:.5rem 1rem;border-radius:20px;font-size:.8rem;opacity:.7;pointer-events:none}.delete-confirm-overlay{position:fixed;inset:0;background:#000c;display:flex;align-items:center;justify-content:center;z-index:10001}.delete-confirm-modal{background:#fff;padding:2rem;border-radius:8px;max-width:400px;text-align:center;box-shadow:0 4px 20px #0000004d}.delete-confirm-modal h3{margin:0 0 1rem;color:#335c67}.delete-confirm-modal p{margin:0 0 1.5rem;color:#666}.delete-confirm-actions{display:flex;gap:1rem;justify-content:center}@media(max-width:768px){.gallery-header{padding:.8rem}.image-name{display:none}.gallery-nav{width:40px;height:40px;font-size:1.2rem}.prev-btn{left:1rem}.next-btn{right:1rem}.gallery-thumbnails{padding:.8rem;max-height:100px}.gallery-thumbnails .thumbnail{width:50px;height:50px}.swipe-indicator{display:block}.delete-confirm-modal{padding:1.5rem;margin:1rem}}@media(max-width:480px){.gallery-main{padding:.5rem}.gallery-nav{width:35px;height:35px;font-size:1rem}.prev-btn{left:.5rem}.next-btn{right:.5rem}}.notifications-container{position:fixed;bottom:calc(20px + env(safe-area-inset-bottom,0px));right:calc(20px + env(safe-area-inset-right,0px));z-index:9999;display:flex;flex-direction:column;gap:10px;max-width:400px}.notification{display:flex;align-items:center;justify-content:space-between;padding:16px;border-radius:12px;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);cursor:pointer;transition:all .3s ease;animation:slideInRight .3s ease-out;min-height:60px;border:1px solid #16313e}.notification-success,.notification-error{color:#f2f2f2}.notification-content{display:flex;align-items:center;gap:12px;flex:1}.notification-icon{font-size:20px;flex-shrink:0}.notification-message{font-size:14px;font-weight:500;line-height:1.4}.notification-close{background:none;border:none;color:#fffc;font-size:20px;font-weight:700;cursor:pointer;padding:4px;border-radius:50%;width:28px;height:28px;display:flex;align-items:center;justify-content:center;transition:all .2s ease;flex-shrink:0}.notification-close:hover{background:#fff3;color:#f2f2f2}@keyframes slideInRight{0%{transform:translate(100%);opacity:0}to{transform:translate(0);opacity:1}}@media(max-width:768px){.notifications-container{left:20px;right:20px;max-width:none}.notification{padding:12px}.notification-message{font-size:13px}}.image-cropper-overlay{position:fixed;inset:0;background-color:#000c;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;box-sizing:border-box}.image-cropper-container{background:#fff;border-radius:12px;padding:20px;width:100%;max-width:500px;max-height:90vh;overflow-y:auto;box-shadow:0 10px 30px #0000004d}.image-cropper-header{text-align:center;margin-bottom:20px}.image-cropper-header h3{margin:0 0 8px;color:#333;font-size:1.2rem}.image-cropper-header p{margin:0;color:#666;font-size:.9rem}.image-cropper-canvas-container{display:flex;justify-content:center;margin-bottom:20px;overflow:hidden;border-radius:8px}.image-cropper-canvas{border:2px solid #ddd;border-radius:8px;cursor:move;touch-action:none;max-width:100%;height:auto}.image-cropper-canvas:active{cursor:grabbing}.image-cropper-controls{display:flex;gap:12px;justify-content:center}.image-cropper-controls button{padding:12px 24px;border:none;border-radius:8px;font-size:1rem;font-weight:500;cursor:pointer;transition:all .2s ease;min-width:100px}.btn-cancel{background-color:#f5f5f5;color:#666}.btn-cancel:hover{background-color:#e0e0e0}.btn-confirm{background-color:#4caf50;color:#fff}.btn-confirm:hover{background-color:#45a049}.image-cropper-loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:40px;color:#666}.loading-spinner{width:40px;height:40px;border:4px solid #f3f3f3;border-top:4px solid #4caf50;border-radius:50%;animation:spin 1s linear infinite;margin-bottom:16px}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}@media(max-width:768px){.image-cropper-overlay{padding:10px}.image-cropper-container{padding:16px;max-height:95vh;border-radius:8px}.image-cropper-header h3{font-size:1.1rem}.image-cropper-header p{font-size:.85rem}.image-cropper-controls{flex-direction:column}.image-cropper-controls button{padding:14px 20px;font-size:1.1rem;min-width:auto}.image-cropper-canvas{border-width:1px}}@media(max-width:480px){.image-cropper-overlay{padding:5px}.image-cropper-container{padding:12px;border-radius:6px}.image-cropper-header,.image-cropper-canvas-container{margin-bottom:16px}.image-cropper-controls{gap:8px}.image-cropper-controls button{padding:16px 20px;font-size:1.1rem;border-radius:6px}}@media(pointer:coarse){.image-cropper-canvas{cursor:grab}.image-cropper-controls button{padding:16px 24px;font-size:1.1rem}.image-cropper-canvas{touch-action:manipulation}}.image-cropper-overlay{animation:fadeIn .3s ease-out}.image-cropper-container{animation:slideIn .3s ease-out}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}@keyframes slideIn{0%{transform:translateY(-20px);opacity:0}to{transform:translateY(0);opacity:1}}@media(prefers-color-scheme:dark){.image-cropper-container{background:#2a2a2a;color:#fff}.image-cropper-header h3{color:#fff}.image-cropper-header p{color:#ccc}.image-cropper-canvas{border-color:#444}.btn-cancel{background-color:#444;color:#ccc}.btn-cancel:hover{background-color:#555}}.login-container{min-height:100dvh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden}.login-container:before{content:"";position:absolute;inset:0;background:#667eea;background-image:rgba(255,255,255,.1);filter:blur(8px);z-index:-1}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border:2px solid #2c3e50;border-radius:24px;padding:48px 40px;box-shadow:0 32px 64px #00000026,0 0 0 1px #ffffff0d;text-align:center;max-width:420px;width:100%;z-index:1}.login-header h1{margin:0 0 16px;color:#2c3e50;font-size:2.8rem;font-weight:700;text-shadow:0 2px 4px rgba(0,0,0,.1)}.login-header p{margin:0 0 36px;color:#5a6c7d;font-size:1.15rem;line-height:1.5;font-weight:400}.login-content{margin:36px 0}.google-login-btn{display:flex;align-items:center;justify-content:center;gap:14px;width:100%;padding:18px 24px;border:2px solid #e8e8e8;border-radius:16px;background:#f8f9fa 100%;color:#2c3e50;font-size:1.15rem;font-weight:600;cursor:pointer;transition:all .3s cubic-bezier(.4,0,.2,1);box-shadow:0 4px 12px #0000000d,0 2px 4px #0000000d}.google-login-btn:hover{border-color:#2c3e50;background:#f0f4ff 100%;box-shadow:0 8px 25px #1d349233,0 4px 12px #0000001a;transform:translateY(-3px)}.google-login-btn:active{transform:translateY(-1px);box-shadow:0 4px 15px #2e35a033,0 2px 6px #0000001a}.google-icon{width:26px;height:26px;filter:drop-shadow(0 1px 2px rgba(0,0,0,.1))}.login-footer p{margin:32px 0 0;color:#7a8b9a;font-size:.95rem;font-weight:500;opacity:.8}.login-card{animation:slideInUp .6s cubic-bezier(.4,0,.2,1)}.lnk-legal{margin-top:.5rem;display:flex;color:#2c3e50;font-size:.8rem;justify-content:center;align-items:center;text-decoration:none;transition:all .3s cubic-bezier(.4,0,.2,1)}.lnk-legal:hover{transform:translateY(-1px);color:#2c3e50cb}@keyframes slideInUp{0%{opacity:0;transform:translateY(30px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:480px){.login-container{padding:16px}.login-card{padding:36px 24px;border-radius:20px}.login-header h1{font-size:2.4rem}.login-header p{font-size:1.05rem}}nav.main-nav{display:grid;grid-template-columns:auto minmax(0,1fr) auto;align-items:center;gap:1rem;position:sticky;top:var(--safe-area-top, env(safe-area-inset-top, 0px));z-index:2000;width:min(calc(100% - 1rem),1440px);margin:.5rem auto 1.25rem;padding:.2rem 1.2rem;background:#16313e;border-radius:18px;box-shadow:0 14px 30px #16313e33;border:1px solid rgba(255,255,255,.08);overflow:visible}.nav-header{display:flex;align-items:center;justify-content:flex-start;gap:.75rem}.nav-menu{display:contents}nav.main-nav.nav-secondary{width:min(calc(100% - 1rem),1280px)}.nav-brand{display:flex;align-items:center;gap:.75rem;padding:.25rem .4rem;border-radius:16px;justify-self:start}.nav-brand-copy{display:flex;flex-direction:column;gap:.1rem}.nav-menu-toggle{display:none;align-items:center;justify-content:center;width:2.75rem;height:2.75rem;padding:0;border:1px solid rgba(255,255,255,.16);border-radius:20px;background:#ffffff0f;color:#f3fbfe;cursor:pointer;transition:background .2s ease,transform .2s ease,border-color .2s ease}.nav-menu-toggle:hover{background:#ffffff1a;transform:translateY(-1px)}.nav-menu-toggle span{display:block;position:absolute;width:1.1rem;height:2px;border-radius:20px;background:currentColor;transition:transform .2s ease,opacity .2s ease}.nav-menu-toggle span:nth-child(1){transform:translateY(-6px)}.nav-menu-toggle span:nth-child(2){transform:translateY(0)}.nav-menu-toggle span:nth-child(3){transform:translateY(6px)}nav.main-nav.nav-open .nav-menu-toggle span:nth-child(1){transform:rotate(45deg)}nav.main-nav.nav-open .nav-menu-toggle span:nth-child(2){opacity:0}nav.main-nav.nav-open .nav-menu-toggle span:nth-child(3){transform:rotate(-45deg)}.nav-backdrop{display:none}.nav-logo{height:42px;width:42px;border-radius:12px}.nav-brand-eyebrow{font-size:.9rem;font-weight:700;letter-spacing:.02em;color:#f3fbfe}.nav-links{display:flex;align-items:center;justify-content:center;gap:2rem;flex:1;justify-self:center}nav.main-nav a{color:#f3fbfe;text-decoration:none;padding:.55rem .9rem .75rem;display:inline-flex;align-items:center;justify-content:center;border-radius:20px;font-weight:600;font-size:.98rem;transition:opacity .2s ease,transform .2s ease,color .2s ease;position:relative}nav.main-nav a:after{content:"";position:absolute;left:50%;bottom:.25rem;width:calc(100% - 2rem);height:1.5px;border-radius:20px;background:currentColor;transform:translate(-50%) scaleX(0);transform-origin:center;opacity:0;transition:transform .28s ease,opacity .2s ease}nav.main-nav a:hover{opacity:.92;transform:translateY(-1px)}nav.main-nav a.active{color:#fff;background:transparent}nav.main-nav a.active:after{opacity:1;transform:translate(-50%) scaleX(1)}.nav-user{margin-left:auto;justify-self:end}.recipe-detail-overlay .recipe-page-detail,.recipe-form-overlay .recipe-edit-page,.shared-recipe-page .recipe-content{padding-top:1rem;padding-bottom:5rem}@media(max-width:768px){nav.main-nav{display:flex;flex-direction:row;align-items:center;position:fixed;top:0;left:0;right:0;margin:0;padding-top:calc(.55rem + var(--safe-area-top, env(safe-area-inset-top, 0px)));padding-bottom:.55rem;padding-left:max(.7rem,var(--safe-area-left, env(safe-area-inset-left, 0px)));padding-right:max(.7rem,var(--safe-area-right, env(safe-area-inset-right, 0px)));gap:.65rem;width:100%;max-width:none;border-radius:0;border-left:none;border-right:none;box-sizing:border-box}nav.main-nav.nav-secondary{width:100%}.app{width:100%;padding-top:calc(var(--mobile-nav-total-height, 3.55rem) + var(--page-padding, .875rem));padding-left:max(var(--page-padding, .875rem),var(--safe-area-left, env(safe-area-inset-left, 0px)));padding-right:max(var(--page-padding, .875rem),var(--safe-area-right, env(safe-area-inset-right, 0px)))}.shared-recipe-page,.landing-page,.auth-page{padding-top:var(--mobile-nav-total-height, 3.55rem);padding-left:var(--safe-area-left, env(safe-area-inset-left, 0px));padding-right:var(--safe-area-right, env(safe-area-inset-right, 0px));padding-bottom:var(--safe-area-bottom, env(safe-area-inset-bottom, 0px));box-sizing:border-box}.recipe-detail-overlay .recipe-page-detail,.recipe-form-overlay .recipe-edit-page{padding-top:var(--mobile-nav-total-height, 3.55rem);padding-bottom:calc(5rem + var(--safe-area-bottom, env(safe-area-inset-bottom, 0px)))}.nav-header,.nav-menu-toggle{display:none}.nav-menu{width:100%;display:flex;align-items:center;gap:.6rem;position:relative;z-index:1}nav.main-nav.nav-open .nav-menu,nav.main-nav.nav-open .nav-menu *{color:inherit!important}.nav-links{width:auto;display:flex;align-items:center;justify-content:flex-start;gap:.45rem;flex:1 1 auto;min-width:0}.nav-links a{min-height:2.45rem;padding:.52rem .75rem .66rem;color:#2f5661;font-size:.92rem;white-space:nowrap}.nav-links a.active{color:#21414a;background:transparent}.nav-links a.active:after{opacity:1;transform:translate(-50%) scaleX(1)}.nav-user{width:auto;margin-left:auto;display:flex;justify-content:flex-end;align-items:center}.nav-user .user-profile.compact{width:auto;display:flex;align-items:center}.nav-user .user-profile.compact .user-avatar{gap:0;padding:.2rem;background:transparent;box-shadow:none}.nav-user .user-profile.compact .user-name,.nav-user .user-profile.compact .dropdown-arrow{display:none}.nav-user .user-profile.compact .user-avatar img{width:32px;height:32px}.nav-user .user-profile.compact .user-dropdown{left:auto;right:0;margin-left:0;margin-right:0;width:min(220px,calc(100vw - 1rem));min-width:0;top:calc(100% + 6px)}nav.main-nav.nav-open .nav-backdrop{display:none}}@media(max-width:480px){.nav-links{gap:.35rem}.nav-links a{padding:.5rem .65rem .64rem;font-size:.88rem}.nav-menu-toggle{width:2.55rem;height:2.55rem}}.shared-recipe-page{min-height:100vh;min-height:100dvh;background:#eef0ef;color:#2f5661;--primary: #2f5661}.recipe-content{width:min(960px,calc(100% - 1.5rem));margin:0 auto;padding:clamp(3rem,3vw,2rem) 0 clamp(3rem,3vw,2.5rem)}.shared-recipe-skeleton{display:flex;flex-direction:column;gap:1.25rem}.shared-recipe-skeleton-header{display:flex;justify-content:space-between;gap:.75rem}.shared-recipe-skeleton-hero{display:grid;grid-template-columns:140px minmax(0,1fr);gap:1rem;align-items:center}.shared-recipe-skeleton-copy,.shared-recipe-skeleton-section{display:flex;flex-direction:column;gap:.75rem}.shared-recipe-skeleton-badges{display:flex;flex-wrap:wrap;gap:.5rem}.shared-recipe-skeleton-section{padding-top:.25rem}@media(max-width:900px){.recipe-content{width:min(100%,760px)}}@media(max-width:560px){.recipe-content{width:calc(100% - 1rem)}.recipe-header-tools{flex-wrap:wrap;justify-content:center;gap:.5rem}.recipe-copy-feedback{top:2.7rem;right:auto;left:50%;transform:translate(-50%)}}.recipe-header{position:relative;display:flex;flex-direction:column;align-items:center;text-align:center;gap:.7rem;margin-bottom:1.25rem}.recipe-header-tools{position:relative;width:100%;display:flex;justify-content:space-between;align-items:center;margin-bottom:-.2rem}.recipe-qr-action{display:inline-flex;align-items:center}.recipe-tool-btn{width:3.25rem;height:3.25rem;border:none;background:transparent;color:#2d515d;cursor:pointer;padding:0;display:inline-flex;align-items:center;justify-content:center;transition:background .2s ease,color .2s ease,transform .2s ease}.recipe-tool-btn svg{width:1.75rem;height:1.75rem;display:block}.recipe-tool-btn:hover{color:#2f5661;transform:translateY(-3px)}.recipe-share-btn{color:#2f5661}.recipe-copy-feedback{position:absolute;top:2.1rem;right:0;padding:.4rem .7rem;border-radius:20px;background:#2f5661f0;color:#fff;font-size:.75rem;font-weight:700;box-shadow:0 10px 22px #254b5a29;pointer-events:none;z-index:25}.recipe-qr-popover{position:absolute;top:2.45rem;left:50%;transform:translate(-50%);width:220px;padding:.8rem;background:#fff;border:1px solid rgba(47,86,97,.14);border-radius:14px;box-shadow:0 12px 28px #254b5a24;display:flex;flex-direction:column;align-items:center;gap:.6rem;z-index:20}.recipe-qr-popover img{width:180px;height:180px;display:block}.recipe-qr-link{display:inline-flex;align-items:center;justify-content:center;width:100%;min-height:2.1rem;padding:.35rem .8rem;border-radius:20px;background:#2f5661;color:#fff;text-decoration:none;font-size:.82rem;font-weight:700}.recipe-qr-link:hover{filter:brightness(1.05)}.recipe-image{width:140px;height:140px;border-radius:24px;overflow:hidden;box-shadow:0 4px 16px #254b5a1f;border:4px solid #2f5661;background:#fff}.recipe-image img{width:100%;height:100%;object-fit:cover}.recipe-info{width:100%}.recipe-title{font-size:2rem;color:#2f5661;margin:0;font-weight:700;line-height:1.15}.recipe-description{font-size:1rem;color:#4f7281;margin:.35rem 0 .7rem;line-height:1.45}.recipe-badges{display:flex;gap:.5rem;justify-content:center;margin-bottom:.5rem;flex-wrap:wrap}.badge{padding:.4rem .85rem;border-radius:20px;font-size:.9rem;font-weight:600;color:#2f5661;background:#fff;border:1px solid rgba(47,86,97,.18)}.badge-category,.badge-type{background:#fff}.recipe-rating{font-size:1rem;margin:.15rem 0 0}.recipe-author{color:#607d86;font-style:italic;margin-top:.65rem;font-size:.8rem}.recipe-times{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.65rem;margin:.85rem 0 1rem;padding:.7rem;background:#fff;border-radius:14px;border:1px solid rgba(47,86,97,.4)}.time-info{text-align:center;padding:.5rem .25rem;background:transparent;border-radius:0;box-shadow:none;display:flex;flex-direction:column;align-items:center;gap:.15rem}.time-icon{font-size:.95rem;line-height:1;color:#6f8e99}.time-label{display:block;font-size:.9rem;color:#6f8e99;margin-bottom:0;font-weight:600}.time-value{display:block;font-size:1rem;font-weight:700;color:#2f5661;text-align:center}.servings-calculator{padding:0;text-align:center;background:transparent;border-radius:0;box-shadow:none;margin-bottom:1rem}.servings-calculator h3{margin-bottom:.4rem;color:#2f5661;font-size:1.2rem;font-weight:700}.servings-controls{display:flex;align-items:center;justify-content:center;gap:.5rem;margin-bottom:.25rem}.servings-controls .btn{width:2.3rem;height:2.3rem;border-radius:50%;padding:0;font-size:1.2rem;font-weight:700;background:#2f5661;color:#fff;border:none}.servings-display{font-size:.95rem;font-weight:700;color:#2f5661;min-width:40px;padding:.4rem 1.5rem;border-radius:15px;background:#fff;border:1px solid rgba(47,86,97,.2);display:flex;align-items:center;gap:.5rem}.servings-number{font-size:1rem;font-weight:700;vertical-align:middle}.servings-number-input{font-size:1rem;font-weight:700;color:#2f5661;width:60px;text-align:center;border:none;background:transparent;padding:0;margin:0;appearance:textfield;-moz-appearance:textfield}.servings-number-input::-webkit-outer-spin-button,.servings-number-input::-webkit-inner-spin-button{-webkit-appearance:none;appearance:none;margin:0}.servings-number-input:focus{outline:none;background:#ffffff80;border-radius:4px}.servings-label{font-size:1rem;font-weight:700;vertical-align:middle}.servings-label-mobile{display:block;font-size:1rem;font-weight:700;color:#2f5661;text-align:center}@media(max-width:768px){.servings-display .servings-label{display:none}}.proportions-info{color:#2f5661;margin-top:.25rem;font-size:.82rem}.recipe-section{margin-bottom:1rem}.recipe-section h3{font-size:1.2rem;color:#2f5661;margin-bottom:.8rem;font-weight:700;text-align:center}.ingredients-grid{list-style:none;display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:.55rem}.ingredient-item{position:relative;min-height:3rem;padding:.55rem .4rem .4rem;background:#fff;border-radius:20px;border:2px solid rgba(47,86,97,.55);display:flex;flex-direction:column;align-items:center;justify-content:center;gap:.1rem;text-align:center}.ingredient-thumb{position:absolute;top:-.95rem;left:50%;transform:translate(-50%);width:1.6rem;height:1.6rem;border-radius:50%;overflow:hidden;border:2px solid #2f5661;box-shadow:0 3px 10px #254b5a2e;background:#fff}.ingredient-thumb img{width:100%;height:100%;object-fit:cover}.ingredient-quantity{font-weight:700;color:#6f8e99;min-width:0;font-size:.68rem;line-height:1}.ingredient-name{color:#2f5661;font-size:.9rem;font-weight:700;line-height:1.05}.steps-grid{display:grid;gap:.7rem}.step-card{background:#fff;border-radius:12px;border:1.5px solid rgba(47,86,97,.55);padding:.45rem .6rem .55rem}.step-card-title{font-size:1rem;font-weight:700;color:#2f5661;margin-bottom:.25rem}.step-card-body{display:flex;align-items:flex-start;gap:.4rem}.step-number{background:transparent;color:#2f5661;width:auto;height:auto;border-radius:0;display:inline;font-weight:700;flex-shrink:0;font-size:1rem}.step-text{flex-grow:1;padding:0;line-height:1.35;color:#2f5661;font-size:1rem;background:transparent;border-radius:0;min-height:0;max-height:none;overflow:visible;width:auto}.tags-list{display:flex;gap:.4rem;flex-wrap:wrap;justify-content:center}.tag{background:#fff;color:#2f5661;padding:.45rem .85rem;border-radius:20px;font-size:.9rem;font-weight:600;border:1px solid rgba(47,86,97,.35)}.recipe-notes{background:#fff;padding:.8rem;border-radius:12px;border:1.5px solid rgba(47,86,97,.55);line-height:1.5;color:#2f5661;font-size:.8rem}.shared-actions{width:100%;margin:1.8rem auto 0;display:flex;justify-content:center;align-items:stretch;flex-wrap:nowrap;gap:1rem;padding:1.2rem 0 0}.shared-actions .btn{padding:.85rem;font-size:.92rem;font-weight:700;border-radius:12px;cursor:pointer;transition:all .18s ease;display:inline-flex;align-items:center;justify-content:center;gap:.6rem;min-width:0;flex:1 1 48%;height:46px;color:#fff}.shared-action-btn{border-radius:12px;color:inherit}.shared-action-btn.shared-action-btn-add{box-shadow:0 12px 36px #1f4c5e24}.shared-action-btn.shared-action-btn-print{background:#f7fbfb;color:var(--primary);border:1.5px solid rgba(47,86,97,.55)}.shared-action-btn.shared-action-btn-print:hover{background:#ebf0f0df}.shared-actions .btn:disabled{opacity:.6;cursor:not-allowed;transform:none}@media(max-width:768px){.shared-actions{gap:.6rem;padding-top:.8rem;flex-wrap:wrap;width:100%;margin:1.4rem auto 0}.shared-actions .btn{font-size:.85rem}}@media(max-width:420px){.shared-actions{gap:.5rem;width:100%;margin:1.2rem auto 0}.shared-actions .btn{font-size:.8rem;min-width:0}}.shared-footer{text-align:center;padding:1.25rem 1rem 2rem;color:#6f8e99}.shared-footer p{margin:0;font-size:.8rem}.loading,.error-state{text-align:center;padding:4rem 2rem;color:#2f5661;max-width:600px;margin:0 auto}.shared-recipe-skeleton .skeleton-block-hero-image{width:140px;height:140px}.error-state h2{color:#2f5661;margin-bottom:1rem}.error-state p{margin-bottom:1rem;line-height:1.6}@media(max-width:768px){.recipe-content{width:calc(100% - .5rem);max-width:none;padding:.8rem .25rem 1.4rem}.shared-recipe-skeleton-hero{grid-template-columns:1fr;justify-items:center}.shared-recipe-skeleton-copy{width:100%}.shared-recipe-skeleton-header{flex-wrap:wrap}.recipe-header{gap:.6rem;margin-bottom:.85rem}.recipe-header-tools{gap:.35rem;margin-bottom:0;flex-wrap:wrap}.recipe-qr-action{position:relative;flex:1 1 auto;justify-content:flex-start}.recipe-share-btn{flex:0 0 auto}.recipe-image{width:108px;height:108px;border-width:3px}.recipe-title{font-size:1.28rem;line-height:1.08}.recipe-description{font-size:.88rem}.recipe-times,.ingredients-grid{grid-template-columns:1fr;gap:.5rem;width:100%}.recipe-times{width:100%;padding:.6rem;border-radius:12px}.time-info{padding:.55rem .35rem}.time-label{font-size:.74rem}.time-value{font-size:.92rem}.ingredient-item{min-height:0;padding:.7rem .75rem;border-radius:14px;width:100%}.ingredient-thumb{width:1.45rem;height:1.45rem;top:-.78rem}.ingredient-quantity,.ingredient-name{font-size:1rem}.steps-grid{gap:.6rem}.step-card{padding:.4rem .55rem .5rem;border-radius:10px;width:100%}.step-card-title{font-size:.68rem}.step-text{font-size:.78rem;line-height:1.45}.servings-calculator h3,.recipe-section h3{font-size:1rem;margin-bottom:.65rem}.servings-controls{gap:.45rem;flex-wrap:wrap}.servings-controls .btn{width:2.3rem;height:2.3rem}.servings-input{padding:.4rem .7rem}.shared-actions{flex-direction:column;width:100%}}@media(max-width:480px){.recipe-content{width:calc(100% - .25rem);padding-inline:.12rem}.recipe-header-tools{margin-bottom:0}.recipe-qr-popover{width:min(220px,calc(100vw - 1rem))}.recipe-image{width:96px;height:96px}.recipe-title{font-size:1.12rem;margin-bottom:.8rem}.recipe-description{font-size:.84rem}.recipe-times{gap:.4rem;padding:.6rem}.servings-calculator,.recipe-section{width:100%}.time-info{padding:.45rem .3rem}.time-label{font-size:.78rem}.time-value{font-size:.92rem}.ingredient-item{min-height:0}.ingredient-quantity{font-size:.9rem}.ingredient-name{font-size:.95rem}.step-card{padding:.38rem .5rem .46rem}.step-card-title{font-size:.76rem}.step-text{font-size:.84rem}.shared-actions{gap:.45rem}.shared-actions .btn{font-size:.8rem}}.form-row{display:grid;grid-template-columns:repeat(auto-fit,minmax(200px,1fr));gap:15px;margin-bottom:15px}.form-group label{display:block;margin-bottom:5px;font-weight:500;color:#2f5661}.form-input[placeholder=Optionnel]{border-style:dashed;border-color:#ccc}.form-input[placeholder=Optionnel]:focus{border-style:solid;border-color:#2196f3}.landing-page{min-height:100svh;display:flex;flex-direction:column;background:#d9d9d9;color:var(--app-text);font-family:Itim,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;overflow-x:clip}.landing-page h1,.landing-page h2,.landing-page p,.landing-page button,.landing-page a{font-family:inherit}.landing-page nav.landing-nav{grid-template-columns:1fr;justify-items:start}.landing-page nav.landing-nav .nav-header{display:flex}.landing-shell{width:min(calc(100% - 1rem),var(--page-max-width, 1400px));margin:0 auto;padding:clamp(1rem,3vw,2rem) var(--page-padding, clamp(.875rem, 2vw, 1.5rem));display:flex;flex-direction:column;gap:clamp(2rem,5vh,3.5rem);flex:1}.landing-hero{display:grid;grid-template-columns:minmax(0,1.05fr) minmax(0,.95fr);align-items:center;gap:clamp(1.5rem,4vw,3rem);max-width:var(--content-max-width, 1280px);width:100%;margin:0 auto}.landing-hero-copy h1{margin:0 0 .75rem;font-size:clamp(2.2rem,5vw,3.4rem);font-weight:700;line-height:1.08;color:var(--app-text)}.landing-hero-copy p{margin:0 0 1.5rem;max-width:24rem;font-size:clamp(1rem,1.8vw,1.15rem);line-height:1.5;color:var(--app-muted)}.landing-cta{display:inline-flex;align-items:center;justify-content:center;min-width:9rem;min-height:var(--control-height, 44px);padding:.75rem 1.75rem;border:0;border-radius:40px;background:#244e61;color:#fff;font-size:1rem;font-weight:800;cursor:pointer;box-shadow:0 16px 28px #13363a2e;transition:background-color .16s ease,transform .16s ease,box-shadow .16s ease}.landing-cta:hover{background:#2b5c72;box-shadow:0 18px 32px #13363a3d;transform:translateY(-1px)}.landing-cta:focus-visible{outline:none;box-shadow:0 0 0 4px #24545a29,0 16px 28px #13363a2e}.landing-hero-visual{display:flex;justify-content:center;align-items:center}.landing-logo-frame{display:flex;align-items:center;justify-content:center;width:min(100%,20rem)}.landing-logo{width:100%;height:auto;display:block}.landing-features{width:100%;max-width:var(--content-max-width, 1280px);margin:0 auto}.landing-features-viewport{width:100%;margin:0 auto}.landing-features-track{display:flex;gap:1rem;overflow-x:auto;overscroll-behavior-x:contain;scroll-snap-type:x mandatory;scroll-behavior:smooth;padding:.25rem max(.75rem,calc(50% - var(--landing-card-width) / 2)) .5rem;scrollbar-width:none;-ms-overflow-style:none}.landing-features-track::-webkit-scrollbar{display:none}.landing-feature-card{flex:0 0 var(--landing-card-width);scroll-snap-align:center;scroll-snap-stop:always;border:2px solid #4d7283;border-radius:18px;padding:clamp(1.25rem,2.5vw,1.65rem);background:var(--app-bg);box-shadow:0 10px 24px #17293814}.landing-feature-card h2{margin:0 0 .65rem;font-size:clamp(1.1rem,2vw,1.25rem);font-weight:700;line-height:1.2;color:#2f5661}.landing-feature-card p{margin:0;color:var(--app-muted);line-height:1.45;font-size:.95rem;font-weight:600}.landing-dots{display:flex;justify-content:center;gap:.55rem;margin-top:1rem}.landing-dot{width:.55rem;height:.55rem;border:0;border-radius:999px;padding:0;background:#16313e38;cursor:pointer;transition:transform .16s ease,background-color .16s ease}.landing-dot.active{background:var(--app-panel-dark);transform:scale(1.15)}.landing-page .app-footer{padding-top:0}.landing-legal{margin:-.5rem auto 1.25rem;color:var(--app-muted)}.landing-legal:hover{color:var(--app-text)}@media(min-width:821px){.landing-features{display:flex;flex-direction:column;align-items:center}.landing-features-viewport{width:min(100%,calc(var(--landing-card-width) * 2 + 2rem))}.landing-dots{display:none}}@media(max-width:820px){.landing-shell{width:100%;padding-inline:.75rem;gap:1.75rem}.landing-hero{gap:1.25rem;grid-template-columns:1fr;justify-items:center;text-align:center;padding-inline:.25rem}.landing-hero-copy{order:2;display:flex;flex-direction:column;align-items:center;width:100%}.landing-hero-copy h1{font-size:clamp(2rem,9vw,2.6rem)}.landing-hero-copy p{max-width:18rem;margin-bottom:1.25rem;font-size:1rem}.landing-hero-visual{order:1;width:100%}.landing-logo-frame{width:min(58vw,11rem);padding:.85rem;border-radius:18px}.landing-cta{width:min(100%,14rem)}.landing-features{--landing-card-width: min(78vw, 17.5rem);width:calc(100% + 1.5rem);max-width:none;margin-inline:-.75rem}.landing-features-viewport{width:100%}}@media(max-width:768px){.landing-page nav.landing-nav{display:flex;align-items:center;width:calc(100% - 1rem)}.landing-page nav.landing-nav .nav-header{display:flex;width:100%}}@media(max-width:480px){.landing-shell{padding-inline:.5rem}.landing-hero-copy p{max-width:16rem}.landing-features{--landing-card-width: min(84vw, 16.5rem);width:calc(100% + 1rem);margin-inline:-.5rem}.landing-page .app-footer{padding-inline:.5rem;font-size:.85rem}.landing-legal{margin-bottom:1rem;font-size:.78rem}}@font-face{font-family:Itim;src:url(/font/Itim/Itim-Regular.ttf) format("truetype");font-weight:400;font-style:normal;font-display:swap}:root{font-family:Itim,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif;line-height:1.5;font-weight:400;color-scheme:light;color:#16313e;background-color:#eef0ef;--app-bg: #eef0ef;--app-surface: #f2f2f2;--app-panel: #618594;--app-panel-dark: #16313e;--app-text: #16313e;--app-muted: #4f7281;font-synthesis:none;text-rendering:optimizeLegibility;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale}html,body,#root{min-height:100%;min-height:100dvh}body{margin:0;overflow-x:hidden;color:var(--app-text);font-family:Itim,Inter,system-ui,Avenir,Helvetica,Arial,sans-serif}a,button,input,select,textarea{font:inherit}.auth-page{height:100svh;position:relative;overflow:hidden;background:#f0f0f0;color:#14282b}.auth-backdrop{position:absolute;inset:0;pointer-events:none}.auth-layout{position:relative;z-index:1;min-height:100%;display:grid;grid-template-columns:minmax(0,1fr);align-items:center;justify-items:center;gap:0;padding:clamp(.45rem,1.8vw,1.5rem) clamp(.65rem,2vw,1.75rem)}.auth-card{width:100%;max-width:500px;margin:0;border-radius:28px;padding:clamp(.9rem,1.8vw,1.8rem)}.auth-tabs{display:grid;grid-template-columns:repeat(2,1fr);gap:.75rem;margin-bottom:1rem}.auth-tabs button{border:0;border-radius:18px;padding:.95rem 1rem;font-size:.98rem;font-weight:700;color:#355154;background:#132a2d0f;cursor:pointer;transition:transform .16s ease,background-color .16s ease,color .16s ease,box-shadow .16s ease}.auth-tabs button.active{background:#24545a;color:#fff;box-shadow:0 12px 24px #13363a33}.auth-copy{padding:.25rem .2rem .1rem}.auth-copy h2{margin:0 0 .25rem;font-size:clamp(1.6rem,3.6vw,2.4rem);letter-spacing:-.02em;color:#16313e;text-align:center}.auth-copy p{margin:.35rem 0 0;color:#587275;line-height:1.45;text-align:center;font-size:clamp(.95rem,1.5vw,1.05rem)}.auth-copy-link{background:transparent;border:0;color:#24545a;font-weight:800;cursor:pointer;padding:0;margin-left:.25rem}.auth-copy-link:hover{text-decoration:underline}.auth-form{display:grid;gap:clamp(.65rem,1.2vw,.9rem);margin-top:clamp(.75rem,1.5vw,1.1rem)}.auth-field{display:grid;gap:.42rem}.auth-field span{font-size:clamp(.9rem,1.2vw,.98rem);font-weight:700;color:#2f4d50}.auth-field input{width:100%;border:1.5px solid rgba(17,43,47,.12);border-radius:15px;min-height:3rem;padding:.8rem 3rem .8rem 1rem;font-size:clamp(.95rem,1.2vw,1rem);color:#10282b;background:#ffffffb4;transition:border-color .16s ease,box-shadow .16s ease,transform .16s ease}.auth-field input::placeholder{color:#81989a}.auth-field input:focus{outline:none;border-color:#24545ae6;box-shadow:0 8px 28px #24545a14}.input-with-toggle{position:relative}.password-toggle{position:absolute;right:12px;top:50%;transform:translateY(-50%);background:transparent;border:0;padding:6px;display:inline-flex;align-items:center;justify-content:center;color:#356060;cursor:pointer}.auth-submit{border:0;border-radius:40px;min-height:3rem;padding:.8rem 1rem;font-size:clamp(1rem,1.4vw,1.05rem);font-weight:800;cursor:pointer;width:100%}.auth-alert{border-radius:14px;padding:.9rem 1rem;font-size:.95rem;line-height:1.5}.auth-error{color:#8b1e2d;background:#ff484814;border:1px solid rgba(255,72,72,.18)}.auth-info{color:#1f5d2b;background:#34a8531a;border:1px solid rgba(52,168,83,.18)}.auth-submit{min-height:3rem;border:0;border-radius:16px;padding:.8rem 1rem;font-size:clamp(.98rem,1.3vw,1rem);font-weight:800;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,transform .16s ease,box-shadow .16s ease,opacity .16s ease}.auth-google{display:inline-flex;align-items:center;justify-content:center;gap:.6rem;justify-self:stretch;background:#fff;color:#13363a;width:100%;min-height:3rem;padding:.8rem 1rem;border:1px solid rgba(19,54,58,.18);border-radius:15px;font-size:clamp(.95rem,1.2vw,1rem);font-weight:800;cursor:pointer;transition:background-color .16s ease,border-color .16s ease,color .16s ease,transform .16s ease,box-shadow .16s ease,opacity .16s ease}.auth-submit{background:#2f6a71;color:#fff;box-shadow:0 16px 28px #13363a2e}.auth-submit:hover{background:#24545a;box-shadow:0 18px 32px #13363a3d;transform:translateY(-1px)}.auth-google:hover{background:#f7fbfb;border-color:#13363a4d;transform:translateY(-1px)}.auth-submit:focus-visible{outline:none;box-shadow:0 0 0 4px #24545a29,0 16px 28px #13363a2e}.auth-tabs button:hover{transform:translateY(-1px)}.auth-submit:disabled{opacity:.72;cursor:progress}.auth-divider{position:relative;display:flex;align-items:center;justify-content:center;gap:.9rem;margin:.2rem 0;color:#4f6b72}.auth-divider:before{content:"";display:block;flex:1;height:1px;background:#112b2f47}.auth-divider:after{content:"";display:block;flex:1;height:1px;background:#112b2f47}.auth-divider span{position:relative;z-index:1;flex:0 0 auto;padding:0 .3rem;font-size:clamp(.9rem,1.2vw,.98rem);text-transform:none;letter-spacing:.02em}.auth-google{margin-top:.2rem}.google-icon{width:1.15rem;height:1.15rem;flex:0 0 auto}.auth-google span{line-height:1}.auth-google-label{text-align:center}.auth-switch{margin:1rem 0 0;padding:0 .2rem .2rem;color:#587275;display:flex;flex-wrap:wrap;align-items:center;gap:.45rem}.auth-switch button{border:0;padding:0;background:transparent;color:#13363a;font-weight:800;cursor:pointer}@keyframes cardIn{0%{opacity:0;transform:translateY(24px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@keyframes float{0%,to{transform:translateZ(0)}50%{transform:translate3d(0,18px,0)}}@media(max-width:980px){.auth-layout{padding:.75rem .65rem}.auth-card{margin:0;border-radius:24px}}@media(max-width:640px){.auth-layout{padding:.5rem}.auth-card{border-radius:20px;padding:.85rem}.auth-tabs,.auth-google,.auth-submit{border-radius:14px}.auth-copy{padding:.1rem 0 0}.auth-copy p{line-height:1.35}.auth-field input{min-height:2.85rem;padding:.75rem 2.75rem .75rem .9rem}.auth-google{padding:.75rem .9rem}}@media(min-width:1200px){.auth-card{padding:2rem}.auth-layout{padding-inline:clamp(1.5rem,6vw,6rem)}}@media(max-height:760px){.auth-layout{padding-block:.4rem}.auth-card{padding:.75rem .9rem}.auth-copy h2{font-size:1.55rem}.auth-copy p{margin-top:.25rem;line-height:1.3}.auth-form{gap:.55rem;margin-top:.7rem}}.verify-page{min-height:100vh;display:grid;place-items:center;padding:2rem 1rem;position:relative;overflow:hidden;background:#f0f0f0;color:#123033}.verify-page:before{content:"";position:absolute;inset:-10%;background:#f0f0f0;filter:blur(10px);pointer-events:none}.verify-card{position:relative;z-index:1;width:min(100%,560px);background:#ffffffe0;border-radius:28px;padding:2rem}.verify-card h2{margin:0;line-height:1.05;letter-spacing:-.04em;color:#10282b}.verify-card p{margin:.95rem 0 0;font-size:1.02rem;line-height:1.7;color:#587275}.verify-actions{display:flex;flex-wrap:wrap;gap:.85rem;margin-top:1.5rem}.verify-actions a,.verify-actions button,.verify-link{display:inline-flex;align-items:center;justify-content:center;min-height:3rem;padding:.85rem 1.1rem;border-radius:14px;border:0;font-size:.85rem;text-decoration:none;font-weight:800;cursor:pointer;transition:transform .16s ease,box-shadow .16s ease,opacity .16s ease}.verify-actions a,.verify-actions button{background:#2f6a71;color:#fff}.verify-link{background:#13363a0f;color:#13363a}.verify-actions a:hover,.verify-actions button:hover,.verify-link:hover{transform:translateY(-1px)}.verify-actions button:disabled{background:#9fb5b8;color:#eef4f5;cursor:not-allowed;opacity:1;box-shadow:inset 0 0 0 1px #10282b0d}.verify-actions button:disabled:hover{transform:none}.verify-note{margin-top:1rem;font-size:.92rem;color:#7b8f92}@keyframes verifyIn{0%{opacity:0;transform:translateY(20px) scale(.98)}to{opacity:1;transform:translateY(0) scale(1)}}@media(max-width:640px){.verify-page{padding:1rem;background:#fbf7f0}.verify-card{padding:1.3rem;border-radius:22px}.verify-actions{flex-direction:column}.verify-actions a,.verify-actions button,.verify-link{width:100%}}.legal-page{display:flex;justify-content:center;padding:40px 16px;background:#f2f2f2;color:#222}.legal-container{max-width:980px;width:100%;background:#f2f2f2;border-radius:12px;border:1px solid #335c67;padding:28px 32px;box-sizing:border-box}.legal-header{text-align:center;margin-bottom:20px}.legal-header h1{margin:0;font-size:1.6rem;color:#111}.legal-page{min-height:100dvh;display:flex;justify-content:center;align-items:flex-start;padding:48px 16px;background:#f2f2f2;color:#335c67}.legal-container{max-width:980px;width:100%;background:#ffffff0a;border-radius:20px;box-shadow:0 8px 24px #0a141e73;padding:28px 32px;box-sizing:border-box;-webkit-backdrop-filter:blur(6px);backdrop-filter:blur(6px);border:1px solid rgba(36,70,83,.04)}.legal-header{text-align:center;margin-bottom:18px}.legal-header h1{margin:0;font-size:1.6rem;color:#335c67;font-weight:700}.legal-header p{margin:6px 0 0;color:#335c67;font-size:.95rem}.legal-content{margin-top:16px;display:grid;grid-template-columns:1fr;gap:18px}.legal-section{padding:16px 14px;background:#1e384e31;border-radius:12px;border-left:4px solid rgba(222,223,224,.767)}.legal-section h3{margin:0 0 8px;font-size:1.05rem;color:#335c67}.legal-section p,.legal-section ul{margin:0 0 8px;color:#335c67;line-height:1.6;font-size:.95rem}.legal-section ul{padding-left:1.15rem}.legal-section li{margin-bottom:6px}.legal-footer{margin-top:18px;display:flex;gap:12px;justify-content:center;align-items:center}.legal-footer .btn{display:inline-flex;align-items:center;gap:8px;padding:8px 14px;background:#ffffff0a;color:#335c67;border-radius:10px;border:1px solid rgba(255,255,255,.06);text-decoration:none;font-weight:600;font-size:.95rem;transition:transform .12s ease,box-shadow .12s ease,background .12s ease}.legal-footer .btn:hover{transform:translateY(-2px);box-shadow:0 6px 18px #0a141e73;background:#ffffff0f}.legal-footer .btn:active{transform:translateY(0)}@media(min-width:900px){.legal-content{grid-template-columns:1fr 1fr}.legal-section{padding:18px 16px}}@media(max-width:480px){.legal-container{padding:18px;border-radius:12px}.legal-header h1{font-size:1.25rem}}.user-profile{position:relative;display:inline-block}.user-profile.compact{display:inline-flex}.user-avatar{display:flex;align-items:center;gap:8px;padding:8px 12px;border-radius:25px;background:#f2f2f2;box-shadow:0 2px 8px #0000001a;cursor:pointer;transition:all .12s ease}.user-avatar:hover{box-shadow:0 4px 12px #00000026}.user-profile.compact .user-avatar{gap:0;padding:.2rem;background:transparent;box-shadow:none}.user-profile.compact .user-avatar:hover{box-shadow:none}.user-avatar img{width:32px;height:32px;border-radius:50%;object-fit:cover}.user-name{font-weight:600;color:#153235;font-size:14px}.dropdown-arrow{width:16px;height:16px;fill:#275567;transition:transform .12s ease}.user-profile.compact .user-name,.user-profile.compact .dropdown-arrow{display:none}.user-profile.open .dropdown-arrow{transform:rotate(180deg)}.user-dropdown{position:absolute;top:100%;right:0;margin-top:8px;background:#fff;border-radius:10px;border:1px solid rgba(47,86,97,.08);box-shadow:0 8px 24px #1729380f;padding:12px;min-width:260px;z-index:1000}.user-profile.compact .user-dropdown{min-width:0;width:min(220px,calc(100vw - 1rem))}.user-info{display:flex;align-items:center;gap:12px;margin-bottom:12px}.user-info img{width:40px;height:40px;border-radius:50%;object-fit:cover}.user-full-name{font-weight:600;color:#21414a;font-size:13.5px}.user-email{color:#2f6568;font-size:12.5px}.pseudo-input{font-size:14px;padding:6px 8px;border:1px solid rgba(47,86,97,.08);border-radius:6px;width:100%;box-sizing:border-box}.pseudo-input:focus{outline:none;box-shadow:0 0 0 3px #2755670f}.user-dropdown hr{border:none;border-top:1px solid rgba(47,86,97,.06);margin:10px 0}.logout-btn{display:flex;align-items:center;gap:8px;width:100%;padding:8px 12px;border:none;background:transparent;color:#21414a;border-radius:8px;cursor:pointer;font-size:13.25px;transition:background-color .12s ease}.logout-btn:hover{background-color:#2755670f}.logout-btn svg{width:16px;height:16px;fill:currentColor}.delete-data-btn{display:block;width:100%;padding:6px 12px;margin-top:6px;border:none;background:transparent;color:#c23a33;text-align:left;border-radius:8px;cursor:pointer;font-size:12px;font-weight:500;opacity:.9;transition:background .12s ease}.delete-data-btn:hover{background-color:#c23a330f}.delete-modal-backdrop{position:fixed;inset:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:10000}.delete-modal{background:#fff;border-radius:8px;padding:1.5rem;max-width:400px;width:90%;box-shadow:0 8px 30px #17293814}.delete-modal-icon{display:none}.delete-modal-title{color:#333;font-size:1.1rem;font-weight:600;margin-bottom:.5rem}.delete-modal-text{color:#666;font-size:.9rem;margin-bottom:1.2rem;line-height:1.4}.delete-modal-actions{display:flex;gap:.6rem;justify-content:flex-end}.modal-btn{padding:.5rem 1.2rem;border:none;border-radius:6px;font-size:.9rem;font-weight:500;cursor:pointer;transition:background .2s}.modal-btn-cancel{background:#e5e5e5;color:#333}.modal-btn-cancel:hover{background:#d5d5d5}.modal-btn-danger{background:#dc3545;color:#fff}.modal-btn-danger:hover{background:#c82333}@media(max-width:768px){.user-profile{width:100%;display:flex;flex-direction:column}.user-avatar{width:100%;justify-content:center}.user-dropdown{position:static;width:100%;min-width:0;margin-top:.7rem;box-sizing:border-box;background:linear-gradient(180deg,#fff,#f7fbfc);border:1px solid rgba(47,86,97,.1);box-shadow:0 10px 24px #2f556014;color:#21414a}.user-profile.compact{width:auto;display:inline-flex;flex-direction:column}.user-profile.compact .user-dropdown{position:absolute;right:0;left:auto;width:min(220px,calc(100vw - 1rem));margin-top:6px;background:linear-gradient(180deg,#fff,#f7fbfc);border:1px solid rgba(47,86,97,.1);box-shadow:0 10px 24px #2f556014}}
