.portal-heading,.portal-heading-xl,.portal-heading-lg,.portal-card-title,.portal-confirmation-title,.portal-modal-title{font-variant-ligatures:no-common-ligatures;font-feature-settings:"liga" 0,"clig" 0}:root{--portal-primary:#4fd8b0;--portal-primary-hover:#3cc9a1;--portal-primary-light:#d1fae5;--portal-primary-dark:#059669;--portal-bg:#f8fafc;--portal-card:#fff;--portal-border:#e2e8f0;--portal-text:#1e293b;--portal-text-muted:#64748b;--portal-text-light:#94a3b8;--portal-success:#10b981;--portal-success-light:#d1fae5;--portal-warning:#f59e0b;--portal-warning-light:#fef3c7;--portal-error:#ef4444;--portal-error-light:#fee2e2;--portal-radius:12px;--portal-radius-sm:8px;--portal-logo-height:40px;--portal-font-heading:var(--font-eacologica),Georgia,serif;--portal-font-body:"Inter",-apple-system,BlinkMacSystemFont,"Segoe UI",Roboto,sans-serif}.portal-container{background:var(--portal-bg);min-height:100vh;font-family:var(--portal-font-body);color:var(--portal-text)}.portal-header{background:var(--portal-card);border-bottom:1px solid var(--portal-border);z-index:50;padding:1rem;position:sticky;top:0}.portal-header-content{justify-content:space-between;align-items:center;max-width:640px;margin:0 auto;display:flex}.portal-logo{height:var(--portal-logo-height);width:auto}.portal-logo-desktop{display:block}.portal-logo-mobile{display:none}.portal-logout-btn{justify-content:center;align-items:center;display:flex;padding:.5rem!important}.portal-lang-select{border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);background:var(--portal-card);color:var(--portal-text);cursor:pointer;padding:.5rem .75rem;font-size:.875rem}.portal-main{max-width:640px;margin:0 auto;padding:1.5rem 1rem}.portal-card{background:var(--portal-card);border:1px solid var(--portal-border);border-radius:var(--portal-radius);margin-bottom:1rem;padding:1.25rem}.portal-card-title{font-family:var(--portal-font-heading);color:var(--portal-text);margin-bottom:.75rem;font-size:.9375rem;font-weight:700}.portal-heading{font-family:var(--portal-font-heading);font-weight:700}.portal-heading-xl{font-family:var(--portal-font-heading);color:var(--portal-text);font-size:1.75rem;font-weight:700}.portal-heading-lg{font-family:var(--portal-font-heading);color:var(--portal-text);font-size:1.5rem;font-weight:700}.portal-input{border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);width:100%;padding:.875rem 1rem;font-size:1rem;transition:border-color .2s,box-shadow .2s}.portal-input:focus{border-color:var(--portal-primary);box-shadow:0 0 0 3px var(--portal-primary-light);outline:none}.portal-input::placeholder{color:var(--portal-text-light)}.portal-label{color:var(--portal-text);margin-bottom:.5rem;font-size:.875rem;font-weight:500;display:block}.portal-select{border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);background:var(--portal-card);cursor:pointer;width:100%;padding:.875rem 1rem;font-size:1rem}.portal-btn{border-radius:var(--portal-radius-sm);cursor:pointer;border:none;justify-content:center;align-items:center;gap:.5rem;padding:.875rem 1.5rem;font-size:1rem;font-weight:500;transition:all .2s;display:inline-flex}.portal-btn-primary{background:var(--portal-primary);color:#fff}.portal-btn-primary:hover{background:var(--portal-primary-hover)}.portal-btn-primary:disabled{opacity:.5;cursor:not-allowed}.portal-btn-secondary{background:var(--portal-card);color:var(--portal-text);border:1px solid var(--portal-border)}.portal-btn-secondary:hover{background:var(--portal-bg)}.portal-btn-full{width:100%}.portal-radio-group{flex-direction:column;gap:.75rem;display:flex}.portal-radio-item{border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);cursor:pointer;align-items:flex-start;gap:.75rem;padding:1rem;transition:border-color .2s,background .2s;display:flex}.portal-radio-item:hover{border-color:var(--portal-primary-light)}.portal-radio-item.selected{border-color:var(--portal-primary);background:var(--portal-primary-light)}.portal-radio-item input[type=radio]{accent-color:var(--portal-primary);margin-top:.125rem}.portal-radio-content{flex:1}.portal-radio-title{color:var(--portal-text);font-weight:500}.portal-radio-subtitle{color:var(--portal-text-muted);margin-top:.25rem;font-size:.875rem}.portal-product-list{flex-direction:column;gap:.75rem;display:flex}.portal-product-item{background:var(--portal-bg);border-radius:var(--portal-radius-sm);align-items:center;gap:1rem;padding:1rem;display:flex}.portal-product-right{flex:1;align-items:center;gap:1rem;display:flex}.portal-product-info{flex:1}.portal-product-name{color:var(--portal-text);font-weight:500}.portal-product-price{color:var(--portal-text-muted);font-size:.875rem}.portal-product-qty{align-items:center;gap:.5rem;display:flex}.portal-qty-btn{border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);background:var(--portal-card);cursor:pointer;width:36px;height:36px;color:var(--portal-text);justify-content:center;align-items:center;font-size:1.25rem;display:flex}.portal-qty-btn:hover{background:var(--portal-bg)}.portal-qty-btn-plus{background:var(--portal-primary);color:#fff;border-color:var(--portal-primary)}.portal-qty-btn-plus:hover{background:var(--portal-primary-hover)}.portal-qty-input{text-align:center;border:1px solid var(--portal-border);border-radius:var(--portal-radius-sm);width:60px;padding:.5rem;font-size:1rem}.portal-carton-btn{background:var(--portal-primary-light);color:var(--portal-primary);cursor:pointer;border:none;border-radius:4px;padding:.25rem .5rem;font-size:.75rem}.portal-summary{background:0 0;padding:0}.portal-summary-row{justify-content:space-between;padding:.5rem 0;font-size:.875rem;display:flex}.portal-summary-row.total{border-top:1px solid var(--portal-border);margin-top:.5rem;padding-top:1rem;font-size:1rem;font-weight:600}.portal-message{border-radius:var(--portal-radius-sm);margin-bottom:1rem;padding:1rem}.portal-message-error{background:var(--portal-error-light);color:var(--portal-error)}.portal-message-success{background:var(--portal-success-light);color:var(--portal-success)}.portal-spinner{border:2px solid var(--portal-border);border-top-color:var(--portal-primary);border-radius:50%;width:24px;height:24px;animation:.8s linear infinite spin}@keyframes spin{to{transform:rotate(360deg)}}.portal-confirmation{text-align:center;padding:2rem 1rem}.portal-confirmation-icon{background:var(--portal-success-light);border-radius:50%;justify-content:center;align-items:center;width:80px;height:80px;margin:0 auto 1.5rem;display:flex}.portal-confirmation-icon svg{width:40px;height:40px;color:var(--portal-success)}.portal-confirmation-title{font-family:var(--portal-font-heading);margin-bottom:.5rem;font-size:1.5rem;font-weight:700}.portal-confirmation-subtitle{color:var(--portal-text-muted);margin-bottom:2rem}.portal-text-muted{color:var(--portal-text-muted)}.portal-text-sm{font-size:.875rem}.portal-mt-1{margin-top:.25rem}.portal-mt-2{margin-top:.5rem}.portal-mt-4{margin-top:1rem}.portal-mb-2{margin-bottom:.5rem}.portal-mb-4{margin-bottom:1rem}.portal-modal-overlay{z-index:100;background:#00000080;justify-content:center;align-items:flex-end;padding:1rem;display:flex;position:fixed;inset:0}@media (min-width:640px){.portal-modal-overlay{align-items:center}}.portal-modal{background:var(--portal-card);border-radius:var(--portal-radius)var(--portal-radius)0 0;width:100%;max-width:480px;max-height:90vh;overflow-y:auto}@media (min-width:640px){.portal-modal{border-radius:var(--portal-radius)}}.portal-modal-header{border-bottom:1px solid var(--portal-border);justify-content:space-between;align-items:center;padding:1rem 1.5rem;display:flex}.portal-modal-title{font-family:var(--portal-font-heading);font-size:1.125rem;font-weight:700}.portal-modal-close{cursor:pointer;width:32px;height:32px;color:var(--portal-text-muted);border-radius:var(--portal-radius-sm);background:0 0;border:none;justify-content:center;align-items:center;display:flex}.portal-modal-close:hover{background:var(--portal-bg)}.portal-modal-body{padding:1.5rem}.portal-modal-footer{border-top:1px solid var(--portal-border);gap:.75rem;padding:1rem 1.5rem;display:flex}.portal-single-address-row{flex-wrap:wrap;align-items:baseline;gap:.5rem;display:flex}@media (max-width:480px){.portal-single-address-row{flex-direction:column;gap:.125rem}.portal-logo-desktop{display:none}.portal-logo-mobile{display:block}.portal-main{padding:1rem .75rem}.portal-card{padding:1rem}.portal-product-item{align-items:flex-start}.portal-product-right{flex-direction:column;align-items:flex-start;gap:.5rem}.portal-product-qty{justify-content:flex-end;width:100%}}
