.auth-gate{min-height:60vh;display:flex;align-items:center;background:var(--color-sand-light)}.gate-card{max-width:420px;margin:0 auto;text-align:center;background:#fff;border-radius:20px;padding:3rem 2.5rem;box-shadow:0 4px 30px #1514140f;border:1px solid rgba(21,20,20,.04)}.gate-icon{margin-bottom:1.5rem}.gate-title{font-family:var(--font-display);font-size:1.5rem;color:var(--color-dark);margin-bottom:.75rem}.gate-desc{color:#666;font-size:.9rem;line-height:1.6;margin-bottom:1.5rem}.prov-hero{position:relative;min-height:30vh;display:flex;align-items:center;justify-content:center;text-align:center;background:linear-gradient(135deg,var(--color-green-deep) 0%,var(--color-blue-deep) 100%);padding:calc(var(--space-xl) + 60px) var(--space-md) var(--space-lg);overflow:hidden}.prov-hero:before{content:"";position:absolute;inset:0;background:radial-gradient(ellipse at 20% 80%,rgba(75,145,109,.3) 0%,transparent 60%),radial-gradient(ellipse at 80% 20%,rgba(47,93,255,.2) 0%,transparent 50%);pointer-events:none}.prov-hero-inner{position:relative;z-index:1;max-width:700px}.prov-hero-label{font-size:.75rem;font-weight:600;text-transform:uppercase;letter-spacing:.1em;color:#fff9;margin-bottom:.5rem}.prov-hero-title{font-family:var(--font-display);font-size:clamp(2rem,5vw,3rem);color:var(--color-cream);margin-bottom:var(--space-sm)}.prov-hero-subtitle{font-size:clamp(.9rem,2vw,1.05rem);color:#f1f0efbf;max-width:560px;margin:0 auto;line-height:1.7}.prov-hero-wave{position:absolute;bottom:-1px;left:0;width:100%;height:60px}.prov-section{background:var(--color-sand-light)}.prov-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:var(--space-md);flex-wrap:wrap;gap:.75rem}.prov-back{font-size:.85rem;font-weight:600;color:var(--color-coral);text-decoration:none;transition:opacity .2s}.prov-back:hover{opacity:.7}.prov-status{display:flex;align-items:center;gap:8px;font-size:.8rem;font-weight:600;color:#666;padding:6px 14px;border-radius:999px;background:#fff;border:1px solid rgba(21,20,20,.08)}.prov-dot{width:8px;height:8px;border-radius:999px;background:var(--color-green);box-shadow:0 0 0 4px #4b916d33}.prov-setup-grid{display:grid;grid-template-columns:auto 1fr;gap:var(--space-md);margin-bottom:var(--space-md)}.prov-card{background:#fff;border:1px solid rgba(21,20,20,.06);border-radius:18px;padding:1.75rem 2rem;margin-bottom:var(--space-md)}.prov-setup-grid .prov-card{margin-bottom:0}.prov-card-title{font-family:var(--font-display);font-size:1.15rem;color:var(--color-dark);display:flex;align-items:center;gap:.6rem;margin-bottom:1rem}.prov-card-header{display:flex;align-items:center;justify-content:space-between;gap:1rem;margin-bottom:.5rem}.prov-card-header .prov-card-title{margin-bottom:0}.prov-label{font-family:var(--font-body);font-size:.8rem;font-weight:600;color:var(--color-dark);letter-spacing:.02em;display:block;margin-bottom:.35rem}.prov-optional{font-weight:400;color:#999}.prov-hint{font-size:.8rem;color:#999;line-height:1.5;margin-top:.75rem}.prov-input,.prov-select{width:100%;font-family:var(--font-body);font-size:.9rem;color:var(--color-dark);background:var(--color-sand-light);border:1.5px solid rgba(21,20,20,.1);border-radius:12px;padding:.75rem 1rem;outline:none;transition:border-color .2s,box-shadow .2s;-webkit-appearance:none;appearance:none}.prov-select{cursor:pointer;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%23999' d='M6 8L1 3h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center;padding-right:2.5rem}.prov-input:focus,.prov-select:focus{border-color:var(--color-blue);box-shadow:0 0 0 3px #2f5dff1a;background:#fff}.prov-input::placeholder{color:#bbb}.crew-controls{display:flex;align-items:center;gap:1.25rem;justify-content:center}.crew-btn{width:44px;height:44px;border-radius:50%;border:2px solid var(--color-coral);background:transparent;color:var(--color-coral);font-size:1.3rem;font-weight:700;cursor:pointer;transition:all .2s;display:flex;align-items:center;justify-content:center;line-height:1}.crew-btn:hover{background:var(--color-coral);color:#fff}.crew-count{font-family:var(--font-display);font-size:2.5rem;color:var(--color-dark);min-width:3rem;text-align:center}.trip-fields{display:grid;grid-template-columns:1fr 1fr;gap:1rem}.day-block{background:var(--color-sand-light);border:1px solid rgba(21,20,20,.06);border-radius:14px;padding:1.25rem 1.5rem;margin-bottom:1rem}.day-block:last-child{margin-bottom:0}.day-head{display:flex;align-items:center;justify-content:space-between;margin-bottom:1rem;gap:.75rem}.day-label{display:flex;flex-direction:column;gap:2px}.day-label strong{font-family:var(--font-display);font-size:1rem;color:var(--color-coral)}.day-label span{font-size:.78rem;color:#999}.btn-day-remove{font-family:var(--font-body);font-size:.78rem;font-weight:700;color:var(--color-coral);background:#e84d3014;border:1px solid rgba(232,77,48,.15);border-radius:10px;padding:6px 14px;cursor:pointer;transition:all .2s}.btn-day-remove:hover{background:var(--color-coral);color:#fff}.btn-day-remove:disabled{opacity:.3;cursor:default}.btn-day-remove:disabled:hover{background:#e84d3014;color:var(--color-coral)}.meal-grid{display:grid;grid-template-columns:1fr 1fr 1fr 1fr 1fr;gap:.75rem}.meal-group{display:flex;flex-direction:column}.prov-summary{display:grid;grid-template-columns:repeat(4,1fr);gap:.75rem;margin-bottom:1.5rem}.prov-stat{background:var(--color-sand-light);border:1px solid rgba(21,20,20,.06);border-radius:12px;padding:1rem;text-align:center}.prov-stat-label{display:block;font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.05em;color:#999;margin-bottom:.4rem}.prov-stat-value{display:block;font-family:var(--font-display);font-size:1.5rem;color:var(--color-dark)}.prov-shopping{border-top:1px solid rgba(21,20,20,.08);padding-top:1.5rem;margin-bottom:1.5rem}.prov-shopping-header{margin-bottom:1rem}.prov-shopping-title{font-family:var(--font-display);font-size:1rem;color:var(--color-dark);margin-bottom:.25rem}.prov-list-empty{padding:2rem 0;color:#bbb;font-size:.9rem;text-align:center}.prov-list-columns{display:grid;grid-template-columns:repeat(3,1fr);gap:1.25rem}.prov-list-group{background:var(--color-sand-light);border:1px solid rgba(21,20,20,.05);border-radius:12px;padding:1rem 1.25rem}.prov-list-category{font-family:var(--font-display);font-size:.85rem;color:var(--color-green-deep);margin:0 0 .6rem;padding-bottom:.5rem;border-bottom:2px solid var(--color-green)}.prov-list-items{list-style:none;margin:0;padding:0}.prov-item{display:flex;align-items:baseline;justify-content:space-between;gap:.5rem;padding:.35rem 0;border-bottom:1px solid rgba(21,20,20,.04)}.prov-item:last-child{border-bottom:none}.prov-item-name{font-size:.82rem;font-weight:600;color:var(--color-dark)}.prov-item-qty{font-family:var(--font-body);font-weight:700;font-size:.78rem;color:var(--color-green-deep);white-space:nowrap;text-align:right;flex-shrink:0}.prov-actions{display:flex;flex-wrap:wrap;gap:.6rem;padding-top:1.5rem;border-top:1px solid rgba(21,20,20,.08)}.prov-actions .btn-primary{margin-left:auto}.prov-toast{position:fixed;bottom:2rem;left:50%;transform:translate(-50%) translateY(80px);padding:.75rem 1.5rem;border-radius:14px;font-family:var(--font-body);font-size:.85rem;font-weight:600;z-index:9999;transition:transform .3s ease,opacity .3s ease;opacity:0;box-shadow:0 8px 30px #00000026;pointer-events:none}.prov-toast.visible{transform:translate(-50%) translateY(0);opacity:1}.prov-toast--success{background:var(--color-green-deep);color:#fff}.prov-toast--error{background:var(--color-coral);color:#fff}@media(max-width:1024px){.meal-grid{grid-template-columns:1fr 1fr 1fr}.prov-list-columns{grid-template-columns:repeat(2,1fr)}}@media(max-width:768px){.prov-hero{min-height:25vh;padding:calc(var(--space-lg) + 60px) var(--space-sm) var(--space-md)}.prov-setup-grid{grid-template-columns:1fr}.prov-card{padding:1.25rem 1rem;border-radius:14px}.trip-fields,.meal-grid{grid-template-columns:1fr}.prov-summary{grid-template-columns:1fr 1fr}.prov-list-columns{grid-template-columns:1fr}.prov-actions{flex-direction:column}.prov-actions .btn{width:100%;justify-content:center}.prov-actions .btn-primary{margin-left:0}.prov-card-header{flex-direction:column;align-items:flex-start}}.recipe-modal-overlay{position:fixed;inset:0;background:#15141480;backdrop-filter:blur(4px);z-index:9998;display:flex;align-items:center;justify-content:center;padding:1rem}.recipe-modal{background:#fff;border-radius:20px;padding:2rem 2.25rem;max-width:720px;width:100%;max-height:90vh;overflow-y:auto;position:relative;box-shadow:0 20px 60px #15141433}.recipe-modal-close{position:absolute;top:1rem;right:1.25rem;background:none;border:none;font-size:1.5rem;color:#999;cursor:pointer;line-height:1;padding:.25rem;transition:color .2s}.recipe-modal-close:hover{color:var(--color-coral)}.recipe-modal-title{font-family:var(--font-display);font-size:1.4rem;color:var(--color-dark);margin-bottom:.25rem}.recipe-modal-subtitle{font-size:.85rem;color:#999;margin-bottom:1.5rem}.recipe-form{display:flex;flex-direction:column;gap:1.25rem}.recipe-form-row{display:grid;grid-template-columns:1fr 1fr auto;gap:1rem;align-items:end}.recipe-form-group{display:flex;flex-direction:column;gap:.3rem}.recipe-form-group--sm{max-width:100px}.recipe-ingredients-section{background:var(--color-sand-light);border:1px solid rgba(21,20,20,.05);border-radius:14px;padding:1.25rem}.recipe-ingredients-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:.75rem}.recipe-ingredients-head{display:grid;grid-template-columns:2fr 1.5fr .75fr 1fr 32px;gap:.5rem;padding:0 0 .5rem;border-bottom:1px solid rgba(21,20,20,.08);margin-bottom:.5rem}.recipe-ingredients-head span{font-size:.72rem;font-weight:700;text-transform:uppercase;letter-spacing:.04em;color:#999}.recipe-ing-row{display:grid;grid-template-columns:2fr 1.5fr .75fr 1fr 32px;gap:.5rem;margin-bottom:.4rem;align-items:center}.recipe-ing-row .prov-input{padding:.55rem .75rem;font-size:.85rem;border-radius:10px}.btn-ing-remove{width:28px;height:28px;border-radius:50%;border:1px solid rgba(232,77,48,.2);background:transparent;color:var(--color-coral);font-size:1rem;cursor:pointer;display:flex;align-items:center;justify-content:center;line-height:1;transition:all .2s}.btn-ing-remove:hover{background:var(--color-coral);color:#fff}.recipe-form-actions{display:flex;justify-content:flex-end;gap:.75rem;padding-top:.5rem}@media(max-width:768px){.recipe-modal{padding:1.5rem;border-radius:16px}.recipe-form-row{grid-template-columns:1fr}.recipe-form-group--sm{max-width:none}.recipe-ingredients-head{display:none}.recipe-ing-row{grid-template-columns:1fr 1fr;gap:.4rem}.recipe-ing-row .ing-name{grid-column:1 / -1}.btn-ing-remove{grid-column:2;justify-self:end}}
