.navbar{z-index:100;background:linear-gradient(90deg,#667eea 0%,#764ba2 100%);padding:1rem 0;position:sticky;top:0;box-shadow:0 2px 10px #0000001a}.navbar-container{justify-content:space-between;align-items:center;max-width:1200px;margin:0 auto;padding:0 20px;display:flex}.navbar-logo{color:#fff;align-items:center;font-size:1.5rem;font-weight:700;text-decoration:none;display:flex}.navbar-logo:hover{color:#ddd}.nav-menu{align-items:center;gap:2rem;list-style:none;display:flex}.nav-item{margin:0}.nav-link{color:#fff;border-radius:4px;padding:.5rem 1rem;font-weight:500;text-decoration:none;transition:all .3s}.nav-link:hover{background-color:#fff3}.nav-auth{align-items:center;gap:1rem;display:flex}.user-name{color:#fff;font-size:.9rem}.logout-btn{cursor:pointer;background-color:#ff6b6b;border:none;padding:.5rem 1rem}.logout-btn:hover{background-color:#ff5252}@media (width<=768px){.nav-menu{gap:1rem}.navbar-logo{font-size:1.2rem}}.home{padding:0}.hero{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:100px 20px}.hero-content h1{margin-bottom:1rem;font-size:3rem;font-weight:700}.hero-content p{opacity:.9;margin-bottom:2rem;font-size:1.3rem}.cta-button{color:#fff;cursor:pointer;background-color:#ff6b6b;border:none;border-radius:5px;padding:12px 30px;font-weight:700;text-decoration:none;transition:all .3s;display:inline-block}.cta-button:hover{background-color:#ff5252;transform:translateY(-2px)}.features{background:#fff;padding:60px 0}.features h2{text-align:center;color:#333;margin-bottom:50px;font-size:2.5rem}.features-grid{grid-template-columns:repeat(auto-fit,minmax(250px,1fr));gap:30px;display:grid}.feature-card{text-align:center;background:#f9f9f9;border-radius:8px;padding:30px;transition:all .3s}.feature-card:hover{transform:translateY(-5px);box-shadow:0 10px 25px #0000001a}.feature-card h3{color:#667eea;margin-bottom:1rem;font-size:1.5rem}.feature-card p{color:#666;line-height:1.6}.cta-section{color:#fff;text-align:center;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:60px 20px}.cta-section h2{margin-bottom:1rem;font-size:2.5rem}.cta-section p{opacity:.9;margin-bottom:2rem;font-size:1.2rem}.cta-button.primary{color:#667eea;background-color:#fff;font-weight:700}.cta-button.primary:hover{background-color:#f0f0f0}@media (width<=768px){.hero-content h1{font-size:2rem}.features h2,.cta-section h2{font-size:1.8rem}}.shop{background:#f3f4f6;padding:40px 20px 80px}.shop.loading,.shop.error{text-align:center;padding:60px 20px;font-size:1.2rem}.shop.error{color:#ff6b6b}.shop-qr-layout{width:min(1100px,100%);margin:0 auto}.shop h1{text-align:center;color:#2d2d2d;margin:0 0 24px;font-size:clamp(2rem,4vw,3rem);font-weight:800}.shop-summary-card{background:#fff;border:1px solid #667eea33;border-radius:12px;width:min(420px,100%);margin-bottom:24px;overflow:hidden;box-shadow:0 12px 18px #5b69a01f}.shop-summary-header{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);padding:20px 18px}.shop-summary-header h2{color:#fff;margin:0;font-size:clamp(1.5rem,2vw,2rem)}.shop-summary-body{color:#4a4a4a;padding:18px;font-size:1rem}.pricing-panel{margin-top:8px}.pricing-panel h3{color:#2d2d2d;margin:0 0 14px;font-size:1.7rem}.pricing-grid{grid-template-columns:repeat(3,minmax(180px,1fr));gap:14px;display:grid}.pricing-card{text-align:left;cursor:pointer;background:#fff;border:1px solid #dfe3ef;border-radius:12px;flex-direction:column;gap:8px;padding:16px 14px;transition:all .2s;display:flex;box-shadow:0 8px 16px #0000000a}.pricing-card:hover,.pricing-card.selected{background:#eef2ff;border-color:#5b6eea;transform:translateY(-1px)}.pricing-paper,.pricing-mode,.pricing-type{color:#444;font-size:.92rem;font-weight:600}.pricing-card strong{color:#1f2937;font-size:1.05rem}.print-selection{background:#ffffffe6;border:1px solid #dfe3ef;border-radius:12px;margin-top:24px;padding:18px 20px;box-shadow:0 10px 18px #0000000a}.print-selection label{color:#2f2f2f;margin-bottom:10px;font-size:1.05rem;font-weight:700;display:block}.print-selection input{background:#fff;border:1px solid #d1d5db;border-radius:10px;width:100%;padding:12px 14px;font-size:1.1rem}.selection-summary{color:#3c3c3c;flex-wrap:wrap;align-items:center;gap:10px;margin-top:14px;font-size:.98rem;display:flex}.selection-summary strong{color:#1f2937;margin-left:auto}.print-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;width:100%;margin-top:22px;padding:16px 20px;font-size:1.1rem;font-weight:700}.print-btn:disabled{opacity:.7;cursor:not-allowed}.success-message{color:#1d7f45;background:#eafaf1;border:1px solid #bce7cb;border-radius:10px;margin-top:14px;padding:12px 14px;font-weight:600}.no-shops{text-align:center;color:#666;padding:40px 20px;font-size:1.1rem}@media (width<=768px){.shop{padding:20px 12px 48px}.pricing-grid{grid-template-columns:1fr}.shop-summary-card{width:100%}.selection-summary{flex-direction:column;align-items:flex-start}.selection-summary strong{margin-left:0}}.cart{min-height:calc(100vh - 200px);padding:40px 20px}.cart.empty{text-align:center;justify-content:center;align-items:center;display:flex}.cart h1{color:#333;margin-bottom:30px;font-size:2.5rem}.cart-content{grid-template-columns:2fr 1fr;gap:30px;display:grid}.cart-items{flex-direction:column;gap:20px;display:flex}.cart-item{background:#fff;border-radius:8px;justify-content:space-between;align-items:center;gap:20px;padding:20px;display:flex;box-shadow:0 2px 8px #0000001a}.item-info{flex-grow:1}.item-info h3{color:#333;margin:0 0 10px}.item-price{color:#667eea;margin:0;font-weight:700}.item-quantity{border:1px solid #ddd;border-radius:5px;align-items:center;gap:10px;padding:5px;display:flex}.item-quantity button{cursor:pointer;background:0 0;border:none;justify-content:center;align-items:center;width:30px;height:30px;font-size:1.2rem;transition:all .3s;display:flex}.item-quantity button:hover{background-color:#f0f0f0}.item-quantity input{text-align:center;border:none;width:50px;font-size:1rem}.item-total{color:#333;text-align:right;min-width:80px;font-weight:700}.remove-btn{color:#fff;cursor:pointer;background-color:#ff6b6b;border:none;border-radius:5px;padding:8px 15px;transition:all .3s}.remove-btn:hover{background-color:#ff5252}.cart-summary{background:#fff;border-radius:8px;height:fit-content;padding:30px;position:sticky;top:100px;box-shadow:0 2px 8px #0000001a}.cart-summary h2{color:#333;margin-top:0;margin-bottom:20px}.summary-row{color:#666;border-bottom:1px solid #eee;justify-content:space-between;padding:10px 0;display:flex}.summary-row.total{color:#333;border:none;border-top:2px solid #ddd;margin-top:10px;padding:15px 0;font-size:1.3rem;font-weight:700}.checkout-btn,.continue-shopping{text-align:center;cursor:pointer;border:none;border-radius:5px;width:100%;margin-top:15px;padding:12px 20px;font-weight:700;text-decoration:none;transition:all .3s;display:block}.checkout-btn{color:#fff;background-color:#667eea}.checkout-btn:hover{background-color:#764ba2}.continue-shopping{color:#333;background-color:#f0f0f0}.continue-shopping:hover{background-color:#e0e0e0}@media (width<=768px){.cart-content{grid-template-columns:1fr}.cart-item{flex-wrap:wrap}.cart-summary{position:static}}.checkout{background-color:#f5f5f5;padding:40px 20px}.checkout h1{text-align:center;color:#333;margin-bottom:40px;font-size:2.5rem}.checkout-content{grid-template-columns:2fr 1fr;gap:30px;display:grid}.checkout-form{background:#fff;border-radius:8px;padding:30px;box-shadow:0 2px 8px #0000001a}.form-section{border-bottom:1px solid #eee;margin-bottom:30px;padding-bottom:30px}.form-section:last-child{border-bottom:none}.form-section h2{color:#333;margin-bottom:20px;font-size:1.3rem}.form-row{grid-template-columns:1fr 1fr;gap:20px;display:grid}.submit-btn{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;width:100%;margin-top:20px;padding:15px 20px;font-size:1.1rem;font-weight:700;transition:all .3s}.submit-btn:hover:not(:disabled){background-color:#764ba2}.submit-btn:disabled{opacity:.7;cursor:not-allowed}.order-summary{background:#fff;border-radius:8px;height:fit-content;padding:30px;position:sticky;top:100px;box-shadow:0 2px 8px #0000001a}.order-summary h2{color:#333;margin-top:0;margin-bottom:20px}.summary-items{border-bottom:1px solid #eee;margin-bottom:20px;padding-bottom:20px}.summary-item{color:#666;justify-content:space-between;padding:10px 0;display:flex}.summary-total{color:#333;justify-content:space-between;font-size:1.3rem;font-weight:700;display:flex}@media (width<=968px){.checkout-content{grid-template-columns:1fr}.order-summary{position:static}}@media (width<=768px){.form-row{grid-template-columns:1fr}.checkout h1{font-size:2rem}}.auth-page{background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);justify-content:center;align-items:center;min-height:calc(100vh - 200px);padding:40px 20px;display:flex}.auth-container{width:100%;max-width:400px}.auth-card{background:#fff;border-radius:8px;padding:40px;box-shadow:0 10px 40px #0003}.auth-card h1{text-align:center;color:#333;margin-bottom:30px;font-size:2rem}.error-message{color:#ff6b6b;text-align:center;background-color:#ffe0e0;border-radius:5px;margin-bottom:20px;padding:12px 15px}.form-group{margin-bottom:20px}.form-group label{color:#333;margin-bottom:8px;font-weight:500;display:block}.form-group input{box-sizing:border-box;border:1px solid #ddd;border-radius:5px;width:100%;padding:12px 15px;font-size:1rem;transition:all .3s}.form-group input:focus{border-color:#667eea;outline:none;box-shadow:0 0 0 3px #667eea1a}.auth-btn{color:#fff;cursor:pointer;background-color:#667eea;border:none;border-radius:5px;width:100%;padding:12px 20px;font-size:1rem;font-weight:700;transition:all .3s}.auth-btn:hover:not(:disabled){background-color:#764ba2}.auth-btn:disabled{opacity:.7;cursor:not-allowed}.auth-link{text-align:center;color:#666;margin-top:20px}.auth-link a{color:#667eea;font-weight:700;text-decoration:none}.auth-link a:hover{text-decoration:underline}@media (width<=480px){.auth-card{padding:30px 20px}.auth-card h1{font-size:1.5rem}}.upload-page{background:#f5f6fb;min-height:calc(100vh - 80px);padding:28px 16px 60px}.upload-container{background:#fff;border-radius:16px;max-width:900px;margin:0 auto;padding:22px;box-shadow:0 12px 30px #48548214}.upload-container h2{margin:0 0 18px;font-size:clamp(1.8rem,3vw,2.5rem)}.upload-list{flex-direction:column;gap:16px;display:flex}.upload-item{background:#fafbff;border:1px solid #e3e7ef;border-radius:12px;padding:16px}.file-meta{flex-wrap:wrap;justify-content:space-between;align-items:center;gap:10px;margin-top:12px;display:flex}.file-meta span{color:#2a2f3a;font-weight:600}.file-meta button,.add-file-btn{color:#fff;cursor:pointer;background:linear-gradient(135deg,#667eea 0%,#764ba2 100%);border:none;border-radius:10px;padding:10px 14px;font-weight:600}.file-meta button:disabled,.add-file-btn:disabled{opacity:.7;cursor:not-allowed}.uploaded-tag{color:#137a3d;background:#eafbf0;border:1px solid #bfe7cf;border-radius:8px;padding:6px 10px}.uploading-tag{color:#9a5d00;background:#fff7db;border:1px solid #f7d98a;border-radius:8px;padding:6px 10px}.upload-actions{flex-wrap:wrap;gap:12px;margin-top:18px;display:flex}.finalize-btn,.checkout-btn{color:#fff;cursor:pointer;border:none;border-radius:10px;padding:10px 16px;font-weight:700}.finalize-btn{background:#1f9d62}.checkout-btn{background:#ff7a59}.finalize-btn:disabled,.checkout-btn:disabled{opacity:.7;cursor:not-allowed}.error-message,.success-message{border-radius:10px;margin-bottom:16px;padding:12px 14px;font-weight:600}.error-message{color:#b42318;background:#fff1f1;border:1px solid #f0b7b7}.success-message{color:#127b3f;background:#ebfbf1;border:1px solid #bfe7cf}.finalized-card,.payment-card{background:#f8fbff;border:1px solid #dfe6ef;border-radius:12px;margin-top:18px;padding:16px}.finalized-card h3,.payment-card h3{margin-top:0}@media (width<=640px){.upload-container{padding:16px}.file-meta{flex-direction:column;align-items:flex-start}}*{box-sizing:border-box;margin:0;padding:0}body{background-color:#f5f5f5;font-family:Segoe UI,Tahoma,Geneva,Verdana,sans-serif}.container{max-width:1200px;margin:0 auto;padding:0 20px}main{min-height:calc(100vh - 200px);padding:40px 0}body{-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;margin:0;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif}code{font-family:source-code-pro,Menlo,Monaco,Consolas,Courier New,monospace}
