@import"https://fonts.googleapis.com/css2?family=Inter:wght@300;400;500;600;700;800&display=swap";.welcome-container{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#ff6b6b,#ff8e8e,#ffb6b6);position:relative;overflow:hidden}.qr-code-bg-welcome{position:absolute;top:0;left:0;right:0;bottom:0;width:100%;height:100%;pointer-events:none;z-index:1}.qr-code-item-welcome{position:absolute;color:#fff3;opacity:.25;pointer-events:none}.qr-code-item-welcome svg{width:100%;height:100%}.welcome-content{position:relative;z-index:2;text-align:center;padding:40px 20px;max-width:600px;width:100%}.welcome-title{font-size:48px;font-weight:700;color:#fff;margin-bottom:16px;text-shadow:0 2px 4px rgba(0,0,0,.1)}.welcome-subtitle{font-size:24px;color:#fff;margin-bottom:12px;font-weight:500}.welcome-description{font-size:18px;color:#ffffffe6;margin-bottom:40px;line-height:1.6}.welcome-buttons{display:flex;flex-direction:column;gap:15px;width:100%;max-width:400px;margin:0 auto}.welcome-btn{padding:16px 50px;border-radius:30px;font-size:18px;font-weight:700;cursor:pointer;transition:all .3s ease;border:none;box-shadow:0 4px 6px #0000001a}.welcome-btn-primary{background-color:#fff;color:#ff6b6b}.welcome-btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 8px #00000026}.welcome-btn-secondary{background-color:transparent;border:2px solid #FFFFFF;color:#fff;box-shadow:none}.welcome-btn-secondary:hover{background-color:#ffffff1a;transform:translateY(-2px)}@media (max-width: 768px){.welcome-title{font-size:36px}.welcome-subtitle{font-size:20px}.welcome-description{font-size:16px}.welcome-btn{padding:14px 40px;font-size:16px}}.auth-container{min-height:100vh;display:flex;align-items:center;justify-content:center;padding:20px;position:relative;overflow:hidden;background:#fff}.auth-container:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='60' height='60' viewBox='0 0 24 24' fill='none' stroke='%23FF6B6B' stroke-width='1' opacity='0.08'%3E%3Cpath d='M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM16 16h1v1h-1zM18 16h1v1h-1zM16 18h1v1h-1zM18 18h1v1h-1zM20 13h1v1h-1zM20 15h1v1h-1zM13 20h1v1h-1zM15 20h1v1h-1z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='80' height='80' viewBox='0 0 24 24' fill='none' stroke='%23FF6B6B' stroke-width='1' opacity='0.06'%3E%3Cpath d='M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM16 16h1v1h-1zM18 16h1v1h-1zM16 18h1v1h-1zM18 18h1v1h-1zM20 13h1v1h-1zM20 15h1v1h-1zM13 20h1v1h-1zM15 20h1v1h-1z'/%3E%3C/svg%3E"),url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='40' height='40' viewBox='0 0 24 24' fill='none' stroke='%23FF6B6B' stroke-width='1' opacity='0.1'%3E%3Cpath d='M3 3h8v8H3zM13 3h8v8h-8zM3 13h8v8H3zM16 16h1v1h-1zM18 16h1v1h-1zM16 18h1v1h-1zM18 18h1v1h-1zM20 13h1v1h-1zM20 15h1v1h-1zM13 20h1v1h-1zM15 20h1v1h-1z'/%3E%3C/svg%3E");background-size:120px 120px,160px 160px,80px 80px;background-position:0% 0%,30% 20%,60% 40%,90% 60%,20% 80%;background-repeat:repeat;z-index:0;transform:rotate(-5deg);animation:qrBackgroundMove 20s ease-in-out infinite}@keyframes qrBackgroundMove{0%,to{transform:rotate(-5deg) translate(0)}25%{transform:rotate(-3deg) translate(10px,10px)}50%{transform:rotate(-7deg) translate(-10px,5px)}75%{transform:rotate(-4deg) translate(5px,-10px)}}.qr-code-bg{position:absolute;top:0;left:0;right:0;bottom:0;z-index:0;overflow:hidden;pointer-events:none}.qr-code-item{position:absolute;opacity:.2;color:#ff6b6b;font-size:40px;animation:float 15s ease-in-out infinite;z-index:1}.qr-code-item:nth-child(1){top:10%;left:5%;transform:rotate(-15deg) scale(.8);animation-delay:0s}.qr-code-item:nth-child(2){top:20%;left:85%;transform:rotate(25deg) scale(1.2);animation-delay:1s}.qr-code-item:nth-child(3){top:40%;left:10%;transform:rotate(-35deg) scale(.6);animation-delay:2s}.qr-code-item:nth-child(4){top:60%;left:80%;transform:rotate(45deg) scale(1);animation-delay:3s}.qr-code-item:nth-child(5){top:80%;left:15%;transform:rotate(-20deg) scale(1.4);animation-delay:4s}.qr-code-item:nth-child(6){top:5%;left:50%;transform:rotate(30deg) scale(.9);animation-delay:5s}.qr-code-item:nth-child(7){top:35%;left:65%;transform:rotate(-40deg) scale(1.1);animation-delay:6s}.qr-code-item:nth-child(8){top:70%;left:40%;transform:rotate(15deg) scale(.7);animation-delay:7s}.qr-code-item:nth-child(9){top:25%;left:25%;transform:rotate(-25deg) scale(1.3);animation-delay:8s}.qr-code-item:nth-child(10){top:50%;left:90%;transform:rotate(50deg) scale(.8);animation-delay:9s}.qr-code-item:nth-child(11){top:15%;left:70%;transform:rotate(-10deg) scale(1);animation-delay:10s}.qr-code-item:nth-child(12){top:85%;left:55%;transform:rotate(35deg) scale(1.2);animation-delay:11s}.qr-code-item:nth-child(13){top:45%;left:30%;transform:rotate(-30deg) scale(.6);animation-delay:12s}.qr-code-item:nth-child(14){top:65%;left:75%;transform:rotate(20deg) scale(1.4);animation-delay:13s}.qr-code-item:nth-child(15){top:30%;left:45%;transform:rotate(-45deg) scale(.9);animation-delay:14s}@keyframes float{0%,to{transform:translate(0) rotate(var(--rotation, 0deg)) scale(var(--scale, 1))}33%{transform:translate(20px,-20px) rotate(var(--rotation, 0deg)) scale(var(--scale, 1))}66%{transform:translate(-20px,20px) rotate(var(--rotation, 0deg)) scale(var(--scale, 1))}}.auth-card{background:#fff;border-radius:20px;padding:40px;width:100%;max-width:400px;box-shadow:0 10px 40px #0000001a;position:relative;z-index:2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.auth-card h1{text-align:center;color:#ff6b6b;margin-bottom:10px;font-size:32px}.auth-subtitle{text-align:center;color:#666;margin-bottom:30px;line-height:1.6}.auth-card form{display:flex;flex-direction:column;gap:20px}.code-inputs{display:flex;gap:12px;justify-content:center;margin:20px 0}.code-input{width:50px;height:60px;border:2px solid #E0E0E0;border-radius:12px;text-align:center;font-size:24px;font-weight:700;transition:all .3s}.code-input:focus{border-color:#ff6b6b;outline:none}.btn-link{background:none;border:none;color:#ff6b6b;cursor:pointer;text-decoration:underline;margin-top:10px;font-size:14px}.btn-link:hover{color:#ff5252}.skeleton-text-wrapper{width:100%}.skeleton-list-item{display:flex;gap:16px;padding:16px;background:var(--bg-primary);border-radius:var(--radius-lg);border:1px solid var(--border-light);margin-bottom:12px}.skeleton-list-content{flex:1;display:flex;flex-direction:column;justify-content:center}.dashboard-header{margin-bottom:var(--spacing-xl)}.dashboard-subtitle{font-size:16px;color:var(--text-secondary);margin-top:var(--spacing-xs)}.dashboard-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg)}.dashboard-section{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light)}.section-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-lg);padding-bottom:var(--spacing-md);border-bottom:1px solid var(--border-light)}.section-header-left{display:flex;align-items:center;gap:var(--spacing-sm)}.section-header-left h2{margin:0;font-size:20px;font-weight:600}.section-link{display:flex;align-items:center;gap:6px;color:var(--primary);text-decoration:none;font-size:14px;font-weight:500;transition:gap .2s}.section-link:hover{gap:8px}.section-link svg{transition:transform .2s}.section-link:hover svg{transform:translate(2px)}.cards-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:var(--spacing-md)}.dashboard-skeleton{display:grid;grid-template-columns:repeat(auto-fit,minmax(400px,1fr));gap:var(--spacing-lg)}.card-link{text-decoration:none;color:inherit;display:block}.dashboard-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);overflow:hidden;transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;display:flex;flex-direction:column;height:100%}.dashboard-card:hover{border-color:var(--primary);box-shadow:var(--shadow-lg);transform:translateY(-4px)}.dashboard-card-image{width:100%;height:160px;object-fit:cover;background:var(--bg-secondary)}.dashboard-card-image-placeholder{width:100%;height:160px;background:var(--bg-secondary);display:flex;align-items:center;justify-content:center}.dashboard-card-content{padding:var(--spacing-md);flex:1;display:flex;flex-direction:column}.dashboard-card-title{font-size:16px;font-weight:600;color:var(--text-primary);margin-bottom:var(--spacing-sm);line-height:1.4;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden}.dashboard-card-info{display:flex;align-items:center;gap:var(--spacing-md);margin-bottom:var(--spacing-md);flex-wrap:wrap}.dashboard-card-text{display:flex;align-items:center;gap:6px;font-size:14px;color:var(--text-secondary)}.dashboard-card-footer{margin-top:auto;display:flex;gap:var(--spacing-sm);flex-wrap:wrap}@media (max-width: 768px){.dashboard-grid,.cards-grid,.dashboard-skeleton{grid-template-columns:1fr}.section-header{flex-direction:column;align-items:flex-start;gap:var(--spacing-sm)}}.page-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:var(--spacing-xl);flex-wrap:wrap;gap:var(--spacing-md)}.page-header h1{color:var(--text-primary);font-size:28px;font-weight:700;margin:0}.page-header-actions{display:flex;gap:var(--spacing-sm);align-items:center}.groups-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(320px,1fr));gap:var(--spacing-md)}.group-card-link{text-decoration:none;color:inherit;display:block}.group-card{background:var(--bg-primary);border:1px solid var(--border-light);border-radius:var(--radius-xl);padding:var(--spacing-lg);transition:all .2s cubic-bezier(.4,0,.2,1);cursor:pointer;height:100%;display:flex;flex-direction:column;box-shadow:var(--shadow-sm)}.group-card:hover{transform:translateY(-4px);box-shadow:var(--shadow-lg);border-color:var(--primary)}.group-header{display:flex;align-items:flex-start;gap:12px;margin-bottom:16px}.group-avatar-wrapper{position:relative;flex-shrink:0}.group-avatar,.group-avatar-placeholder{width:48px;height:48px;border-radius:50%;flex-shrink:0;object-fit:cover}.group-avatar-placeholder{background:#ffe5e5;display:flex;align-items:center;justify-content:center}.group-avatar-placeholder.hidden{display:none}.owner-star{position:absolute;top:-6px;right:-6px;width:24px;height:24px;background:transparent;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 3px rgba(255,255,255,1)) drop-shadow(0 2px 4px rgba(0,0,0,.2));z-index:1}.group-header-text{flex:1;min-width:0}.group-header-text h3{color:#333;font-size:20px;margin-bottom:4px;word-wrap:break-word}.owner-badge{background:#ffe5e5;color:#ff6b6b;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.group-info{flex:1;margin-bottom:16px}.group-info{flex:1;margin-bottom:var(--spacing-md);display:flex;flex-direction:column;gap:var(--spacing-sm)}.group-info-item{display:flex;align-items:center;gap:8px;color:var(--text-secondary);font-size:14px}.group-info-item svg{flex-shrink:0}.group-footer{margin-top:auto;padding-top:var(--spacing-md);border-top:1px solid var(--border-light)}.status-badge{display:inline-flex;align-items:center;padding:6px 12px;border-radius:12px;font-size:13px;font-weight:500}.status-badge.pending{background:#fff8e6;color:#b8860b}.status-badge.drawn{background:#e6f7ed;color:var(--success)}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:var(--spacing-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px)}.modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:500px;max-height:90vh;overflow-y:auto;animation:modalSlideIn .3s ease-out}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-light)}.modal-header h2{margin:0;font-size:20px;font-weight:600}.modal-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s}.modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.modal-body{padding:var(--spacing-lg)}.modal-description{color:var(--text-secondary);font-size:14px;margin-bottom:var(--spacing-lg);line-height:1.5}.modal-footer{display:flex;gap:var(--spacing-sm);justify-content:flex-end;padding:var(--spacing-lg);border-top:1px solid var(--border-light)}.group-footer{margin-top:auto}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:16px}.empty-state p{color:#999;font-size:18px;margin-bottom:20px}.form-card{background:#fff;border-radius:16px;padding:30px;max-width:600px;margin:0 auto}.form-group{margin-bottom:24px}.form-group label{display:block;margin-bottom:8px;color:#333;font-weight:600}.form-group small{display:block;margin-top:4px;color:#999;font-size:12px}.form-actions{display:flex;gap:12px;justify-content:flex-end;margin-top:30px}.avatar-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;border:2px dashed #ddd;border-radius:50%;background:#f5f5f5;cursor:pointer;transition:all .3s;gap:8px}.avatar-placeholder:hover{border-color:#ff6b6b;background:#fff5f5}.avatar-preview{position:relative;width:120px;height:120px;border-radius:50%;overflow:hidden}.avatar-preview img{width:100%;height:100%;object-fit:cover}.remove-avatar-btn{position:absolute;top:0;right:0;width:28px;height:28px;background:#ff6b6be6;color:#fff;border:none;border-radius:50%;cursor:pointer;font-size:18px;line-height:1;display:flex;align-items:center;justify-content:center}.anonymity-options{display:flex;flex-direction:column;gap:12px}.anonymity-option{display:flex;align-items:flex-start;padding:15px;border:2px solid #e0e0e0;border-radius:12px;background:#f5f5f5;cursor:pointer;transition:all .3s}.anonymity-option:hover{border-color:#ff6b6b}.anonymity-option.selected{border-color:#ff6b6b;background:#fff5f5}.anonymity-option input[type=radio]{margin-right:12px;margin-top:2px;cursor:pointer}.anonymity-option-content{flex:1;display:flex;flex-direction:column}.anonymity-option-title{font-weight:600;color:#333;margin-bottom:4px}.anonymity-option.selected .anonymity-option-title{color:#ff6b6b}.anonymity-option-desc{font-size:13px;color:#666;line-height:1.4}.switch-container{display:flex;justify-content:space-between;align-items:center}.switch-label{display:block;margin-bottom:4px}.switch{position:relative;display:inline-block;width:50px;height:26px}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#f4f3f4;transition:.4s;border-radius:26px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}input:checked+.slider{background-color:#ff6b6b}input:checked+.slider:before{transform:translate(24px)}.avatar-upload-container{display:flex;justify-content:center;margin-bottom:20px}.avatar-preview{position:relative;display:inline-block}.avatar-preview img{width:120px;height:120px;border-radius:50%;object-fit:cover;border:3px solid #FF6B6B}.remove-avatar-btn{position:absolute;top:-5px;right:-5px;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid #FF6B6B;color:#ff6b6b;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.remove-avatar-btn:hover{background:#ff6b6b;color:#fff}.avatar-upload-label{cursor:pointer}.avatar-placeholder{display:flex;flex-direction:column;align-items:center;justify-content:center;width:120px;height:120px;border-radius:50%;border:2px dashed #DDD;background:#f0f0f0;cursor:pointer;transition:all .2s ease}.avatar-placeholder:hover{border-color:#ff6b6b;background:#fff9f9}.avatar-icon{font-size:32px;margin-bottom:8px}.avatar-placeholder span:last-child{font-size:14px;color:#999}.switch-container{display:flex;justify-content:space-between;align-items:center;padding:15px;background:#f5f5f5;border-radius:12px}.switch-label-container{flex:1;margin-right:15px}.switch-label{display:block;font-size:16px;font-weight:600;color:#333;margin-bottom:5px}.switch-container small{display:block;font-size:12px;color:#999}.switch{position:relative;display:inline-block;width:50px;height:28px}.switch input{opacity:0;width:0;height:0}.slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#f4f3f4;transition:.3s;border-radius:28px}.slider:before{position:absolute;content:"";height:20px;width:20px;left:4px;bottom:4px;background-color:#f4f3f4;transition:.3s;border-radius:50%}.switch input:checked+.slider{background-color:#ff6b6b}.switch input:checked+.slider:before{transform:translate(22px);background-color:#fff}@media (max-width: 768px){.switch-container{flex-direction:column;align-items:flex-start}.switch{margin-top:10px}}.group-detail-card{background:#fff;border-radius:16px;padding:30px}.group-header-detail{display:flex;align-items:flex-start;gap:16px;margin-bottom:30px;padding-bottom:20px;border-bottom:2px solid #F0F0F0}.group-avatar-wrapper-large{position:relative;flex-shrink:0}.group-avatar-large,.group-avatar-placeholder-large{width:80px;height:80px;border-radius:50%;flex-shrink:0;object-fit:cover}.group-avatar-placeholder-large{background:#ffe5e5;display:flex;align-items:center;justify-content:center}.group-avatar-placeholder-large.hidden{display:none}.owner-star-large{position:absolute;top:-8px;right:-8px;width:28px;height:28px;background:transparent;display:flex;align-items:center;justify-content:center;filter:drop-shadow(0 0 4px rgba(255,255,255,1)) drop-shadow(0 2px 6px rgba(0,0,0,.2));z-index:1}.group-header-detail-text{flex:1;min-width:0}.group-header-detail-text h1{color:#333;font-size:28px;margin-bottom:8px;word-wrap:break-word}.group-info-section{margin-bottom:30px}.group-info-section h2{color:#333;margin-bottom:20px;font-size:24px}.info-row{display:flex;justify-content:space-between;padding:12px 0;border-bottom:1px solid #F0F0F0}.info-label{font-weight:600;color:#666;display:flex;align-items:center;gap:8px}.info-label svg{flex-shrink:0}.receiver-section h2{display:flex;align-items:center;gap:8px}.receiver-section h2 svg{flex-shrink:0}.invite-code{font-family:monospace;background:#f5f5f5;padding:4px 12px;border-radius:8px;font-weight:700;color:#ff6b6b}.actions-section,.receiver-section{margin-top:30px;padding-top:30px;border-top:2px solid #F0F0F0}.receiver-section h2{color:#333;margin-bottom:16px}.receiver-info{background:#f5f5f5;padding:20px;border-radius:12px}.receiver-info p{margin-bottom:12px;color:#333}.receiver-info strong{color:#666}.btn-danger{background:var(--danger);color:#fff}.btn-danger:hover{background:#e53935}.tabs-container{display:flex;gap:8px;margin-bottom:20px;background:#fff;padding:8px;border-radius:12px;box-shadow:0 2px 4px #0000001a}.tab{flex:1;padding:12px 16px;border:none;background:transparent;color:#666;font-size:16px;font-weight:500;cursor:pointer;border-radius:8px;transition:all .3s}.tab:hover{background:#f5f5f5}.tab-active{background:#ffe5e5;color:#ff6b6b;font-weight:600}.gifts-list{display:flex;flex-direction:column;gap:16px}.gift-card-link{text-decoration:none;color:inherit}.gift-card{transition:transform .3s,box-shadow .3s;cursor:pointer}.gift-card:hover{transform:translateY(-2px);box-shadow:0 8px 24px #00000026}.gift-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px}.gift-header h3{color:#333;font-size:18px;flex:1}.my-gift-badge{background:#e8f5e9;color:#2e7d32;padding:4px 10px;border-radius:12px;font-size:12px;font-weight:600}.gift-info p{color:#666;margin-bottom:8px;font-size:14px}.gift-time{color:#999;font-size:12px;margin-top:8px;padding-top:8px;border-top:1px solid #E0E0E0}.qr-indicator{margin-top:12px;padding:8px 12px;background:#e3f2fd;color:#1976d2;border-radius:8px;font-size:14px;font-weight:600}.gift-detail-card{background:#fff;border-radius:16px;padding:30px}.gift-info-section{margin-bottom:30px}.gift-info-section h2{color:#333;margin-bottom:20px;font-size:24px}.qr-section{margin-top:30px;padding-top:30px;border-top:2px solid #F0F0F0}.qr-section h2{color:#333;margin-bottom:20px}.qr-display{text-align:center}.qr-display img{max-width:300px;width:100%;border-radius:12px;box-shadow:0 4px 12px #0000001a}.qr-warning{margin-top:16px;color:#f57c00;font-weight:600}.qr-upload{text-align:center;padding:40px;background:#f5f5f5;border-radius:12px}.qr-upload p{margin-bottom:20px;color:#666}.file-upload-btn{display:inline-block;padding:12px 24px;background:#ff6b6b;color:#fff;border-radius:12px;cursor:pointer;font-weight:600;transition:all .3s}.file-upload-btn:hover{background:#ff5252}.upload-qr-container{max-width:600px;margin:0 auto;padding:20px}.upload-qr-container h1{font-size:24px;font-weight:700;color:#333;margin-bottom:8px}.subtitle{font-size:16px;color:#666;margin-bottom:30px}.section{margin-bottom:25px}.label{display:block;font-size:16px;font-weight:600;color:#333;margin-bottom:10px}.upload-button{display:flex;flex-direction:column;align-items:center;justify-content:center;border:2px dashed #FF6B6B;border-radius:12px;padding:30px;background:#fff9f9;cursor:pointer;transition:all .2s ease}.upload-button:hover{background:#ffebee;border-color:#ff5252}.upload-icon{font-size:48px;margin-bottom:10px}.upload-text{color:#ff6b6b;font-size:16px;font-weight:600}.image-container{position:relative;display:inline-block}.preview-image{max-width:250px;max-height:250px;border-radius:12px;display:block}.remove-button{position:absolute;top:-10px;right:-10px;width:30px;height:30px;border-radius:50%;background:#fff;border:2px solid #FF6B6B;color:#ff6b6b;font-size:18px;cursor:pointer;display:flex;align-items:center;justify-content:center;box-shadow:0 2px 4px #0000001a}.remove-button:hover{background:#ff6b6b;color:#fff}.radio-container{display:flex;flex-direction:column;gap:12px}.radio-option{display:flex;align-items:center;padding:12px 15px;background:#f5f5f5;border-radius:12px;border:1px solid #E0E0E0;cursor:pointer;transition:all .2s ease}.radio-option:hover{background:#eee}.radio-option input[type=radio]{margin-right:12px;width:20px;height:20px;cursor:pointer}.radio-option span{font-size:16px;color:#333}.address-box{display:flex;align-items:flex-start;background:#e8f5e9;padding:15px;border-radius:12px;margin-top:15px}.address-icon{font-size:20px;margin-right:10px}.address-content{flex:1}.address-label{font-size:14px;font-weight:600;color:#2e7d32;margin-bottom:5px}.address-text{font-size:14px;color:#1b5e20;line-height:20px}.warning-box{display:flex;align-items:flex-start;background:#fff3e0;padding:15px;border-radius:12px;margin-top:15px}.warning-icon{font-size:20px;margin-right:10px}.warning-text{font-size:14px;color:#e65100;line-height:20px}.submit-button{width:100%;padding:15px;margin-top:20px}.submit-button:disabled{opacity:.6;cursor:not-allowed}.info-box{display:flex;align-items:flex-start;background:#fff9f9;padding:15px;border-radius:12px;margin-top:20px}.info-icon{font-size:20px;margin-right:10px}.info-text{font-size:14px;color:#666;line-height:20px}@media (max-width: 768px){.upload-qr-container{padding:15px}}.profile-card{background:#fff;border-radius:16px;padding:30px;max-width:600px;margin:0 auto}.profile-header{text-align:center;margin-bottom:30px;padding-bottom:30px;border-bottom:2px solid #F0F0F0}.avatar-container{margin:0 auto 16px;width:100px;height:100px}.avatar-upload-label-profile{cursor:pointer;display:block}.avatar-wrapper{position:relative;width:100px;height:100px;border-radius:50%;overflow:hidden;margin:0 auto}.avatar-image{width:100%;height:100%;object-fit:cover}.avatar-overlay{position:absolute;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;opacity:0;transition:opacity .3s}.avatar-wrapper:hover .avatar-overlay{opacity:1}.avatar-placeholder-profile{width:100px;height:100px;border-radius:50%;background:#ffe5e5;display:flex;align-items:center;justify-content:center;margin:0 auto}.avatar-placeholder-profile:hover{background:#ffd5d5}.profile-header h2{color:#333;font-size:24px}.profile-section{margin-bottom:24px}.profile-section label{display:block;margin-bottom:8px;color:#666;font-weight:600;font-size:14px}.profile-section p{color:#333;padding:12px;background:#f5f5f5;border-radius:8px;min-height:44px}.profile-section textarea{resize:vertical;min-height:80px}.profile-actions{display:flex;gap:12px;margin-top:30px;padding-top:30px;border-top:2px solid #F0F0F0}.logout-section{margin-top:30px;padding-top:30px;border-top:2px solid #F0F0F0;text-align:center}.btn-logout{background:#f44336;color:#fff;border:none;padding:12px 24px;border-radius:12px;cursor:pointer;font-weight:600;transition:all .3s}.btn-logout:hover{background:#d32f2f}.city-card{background:#f8f9fa;border-radius:12px;padding:20px;margin-bottom:16px;border:1px solid #E9ECEF}.city-header{display:flex;align-items:center;margin-bottom:12px}.city-icon{font-size:24px;margin-right:10px}.marketplace-card{background:#fff;border-radius:12px;padding:20px;margin-bottom:16px;border:1px solid #E9ECEF;box-shadow:0 1px 3px #0000000d;transition:all .3s ease}.marketplace-card:hover{box-shadow:0 4px 6px #0000001a;transform:translateY(-2px)}.marketplace-ozon{border-left:4px solid #005BFF}.marketplace-wildberries{border-left:4px solid #8B00FF}.marketplace-yandex{border-left:4px solid #FC3F1D}.marketplace-header{display:flex;align-items:center;margin-bottom:12px}.marketplace-icon{width:40px;height:40px;border-radius:50%;display:flex;align-items:center;justify-content:center;margin-right:12px;color:#fff;font-weight:700;font-size:16px}.ozon-icon{background:#005bff}.wildberries-icon{background:#8b00ff}.yandex-icon{background:#fc3f1d}.marketplace-card label{font-size:16px;font-weight:600;color:#333}.marketplace-card p{color:#495057;line-height:1.6}.notifications-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:flex-end;z-index:1000;padding:var(--spacing-md);-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);animation:fadeIn .2s ease-out;overflow:hidden}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.notifications-modal-content{background:var(--bg-primary);border-radius:var(--radius-xl);box-shadow:var(--shadow-xl);width:100%;max-width:480px;max-height:calc(100vh - 32px);min-height:300px;display:flex;flex-direction:column;animation:slideInRight .3s ease-out;overflow:hidden}@keyframes slideInRight{0%{opacity:0;transform:translate(20px)}to{opacity:1;transform:translate(0)}}.notifications-modal-header{display:flex;justify-content:space-between;align-items:center;padding:var(--spacing-lg);border-bottom:1px solid var(--border-light);flex-shrink:0}.notifications-modal-header h2{margin:0;font-size:20px;font-weight:600}.notifications-modal-header-actions{display:flex;align-items:center;gap:var(--spacing-sm)}.notifications-modal-close{background:none;border:none;font-size:24px;color:var(--text-secondary);cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:var(--radius-md);transition:all .2s}.notifications-modal-close:hover{background:var(--bg-secondary);color:var(--text-primary)}.notifications-modal-body{flex:1;overflow-y:auto;overflow-x:hidden;padding:var(--spacing-md);min-height:0;scrollbar-width:thin;scrollbar-color:rgba(0,0,0,.2) transparent}.notifications-modal-body::-webkit-scrollbar{width:6px}.notifications-modal-body::-webkit-scrollbar-track{background:transparent}.notifications-modal-body::-webkit-scrollbar-thumb{background-color:#0003;border-radius:3px}.notifications-modal-body::-webkit-scrollbar-thumb:hover{background-color:#0000004d}.notifications-list{display:flex;flex-direction:column;gap:12px}.notification-card{background:#fff;border-radius:12px;padding:16px;display:flex;gap:12px;position:relative;cursor:pointer;transition:all .2s ease;border:2px solid transparent;box-shadow:0 2px 4px #0000000d}.notification-card:hover{box-shadow:0 4px 8px #0000001a;transform:translateY(-2px)}.notification-card.unread{border-left:4px solid #FF6B6B;background:#fff9f9}.notification-card.new{animation:slideIn .5s ease}@keyframes slideIn{0%{opacity:0;transform:translate(-20px)}to{opacity:1;transform:translate(0)}}.notification-icon{position:relative;width:48px;height:48px;border-radius:12px;display:flex;align-items:center;justify-content:center;flex-shrink:0}.notification-icon svg{display:block}.notification-user-avatar,.notification-group-avatar{position:absolute;bottom:-4px;right:-4px;width:24px;height:24px;border-radius:50%;border:2px solid white;overflow:hidden;background:#ffe5e5;flex-shrink:0;display:flex;align-items:center;justify-content:center;z-index:1}.notification-user-avatar img,.notification-group-avatar img{width:100%;height:100%;object-fit:cover}.notification-content{flex:1;min-width:0}.notification-header{display:flex;align-items:center;gap:12px;margin-bottom:6px}.notification-title{font-size:15px;font-weight:600;color:#333;margin:0}.new-badge{background:#ff6b6b;color:#fff;font-size:10px;font-weight:700;padding:2px 6px;border-radius:12px;text-transform:uppercase;letter-spacing:.5px}.notification-message{color:#666;font-size:14px;line-height:1.5;margin-bottom:6px}.notification-message strong{color:#333;font-weight:600}.notification-time{font-size:12px;color:#999}.unread-dot{position:absolute;top:16px;right:16px;width:8px;height:8px;background:#ff6b6b;border-radius:50%}.qr-expiring-buttons{display:flex;gap:8px;margin-top:12px;flex-wrap:wrap}.qr-expiring-buttons .btn-sm{padding:6px 12px;font-size:13px}.qr-expiring-status{margin-top:12px;padding:8px 12px;background:#e8f5e9;border-radius:8px;color:#2e7d32;font-size:13px;font-weight:500}.empty-icon{display:flex;align-items:center;justify-content:center;margin-bottom:16px}.empty-state p{font-size:16px;margin-bottom:8px;color:var(--text-secondary)}.empty-subtext{font-size:14px;color:var(--text-tertiary)}@media (max-width: 768px){.notifications-modal-overlay{padding:60px 0 0;align-items:flex-end}.notifications-modal-content{max-width:100%;margin-bottom:0;max-height:calc(100vh - 60px);border-radius:var(--radius-xl) var(--radius-xl) 0 0;min-height:400px}.notification-card{padding:14px}.qr-expiring-buttons{flex-direction:column}.qr-expiring-buttons .btn-sm{width:100%}}.layout{min-height:100vh;display:flex;flex-direction:column;background:var(--bg-secondary)}.navbar{background:var(--bg-primary);box-shadow:var(--shadow-sm);border-bottom:1px solid var(--border-light);padding:0;position:sticky;top:0;z-index:100;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);background:#fffffffa}.nav-container{max-width:var(--max-width);width:100%;margin:0 auto;display:flex;justify-content:space-between;align-items:center;padding:16px var(--spacing-md)}.nav-logo{font-size:20px;font-weight:700;color:var(--primary);text-decoration:none;display:flex;align-items:center;gap:8px;transition:opacity .2s}.nav-logo:hover{opacity:.8}.nav-links{display:flex;gap:var(--spacing-sm);align-items:center}.nav-link-notifications,.nav-link-icon{position:relative;display:flex;align-items:center;justify-content:center;padding:10px;min-width:40px;height:40px;background:none;border:none;cursor:pointer;border-radius:var(--radius-md);transition:all .2s}.nav-link-notifications:hover,.nav-link-icon:hover,.nav-link-notifications.active,.nav-link-icon.active{background:var(--primary-light)}.notification-badge{position:absolute;top:-8px;right:-8px;background:#ff6b6b;color:#fff;font-size:11px;font-weight:700;padding:2px 6px;border-radius:10px;min-width:18px;text-align:center;line-height:1.4}.nav-avatar-link{display:flex;align-items:center;justify-content:center;width:40px;height:40px;min-width:40px;min-height:40px;max-width:40px;max-height:40px;border-radius:50%;overflow:hidden;text-decoration:none;flex-shrink:0;transition:all .2s;border:2px solid transparent;box-sizing:border-box}.nav-avatar-link:hover{border-color:var(--primary);transform:scale(1.05)}.nav-avatar-link.active{border-color:var(--primary)}.nav-avatar{width:100%;height:100%;border-radius:50%;object-fit:cover;display:block}.nav-avatar-placeholder{width:100%;height:100%;min-width:40px;min-height:40px;border-radius:50%;flex-shrink:0}.nav-avatar-placeholder{background:#ffe5e5;display:flex;align-items:center;justify-content:center}.nav-avatar-placeholder.hidden{display:none}.nav-links a{color:var(--text-secondary);text-decoration:none;font-weight:500;font-size:15px;padding:10px 16px;border-radius:var(--radius-md);transition:all .2s;position:relative}.nav-links a:hover,.nav-links a.active{color:var(--primary);background:var(--primary-light)}.btn-logout{background:transparent;color:var(--text-secondary);border:1px solid var(--border);padding:10px 16px;border-radius:var(--radius-md);cursor:pointer;font-weight:500;font-size:15px;transition:all .2s;font-family:inherit}.btn-logout:hover{background:var(--danger);color:#fff;border-color:var(--danger)}.main-content{flex:1;padding:var(--spacing-xl) 0}@media (max-width: 768px){.nav-container{flex-direction:column;gap:16px}.nav-links{flex-wrap:wrap;justify-content:center}}*{margin:0;padding:0;box-sizing:border-box}:root{--primary: #005BFF;--primary-hover: #0047CC;--primary-light: #E8F0FE;--secondary: #FF6B6B;--success: #00A046;--warning: #FFA500;--danger: #FF3B30;--bg-primary: #FFFFFF;--bg-secondary: #F5F7FA;--bg-tertiary: #FAFBFC;--border: #E5E7EB;--border-light: #F0F0F0;--text-primary: #1A1A1A;--text-secondary: #666666;--text-tertiary: #999999;--text-disabled: #CCCCCC;--shadow-sm: 0 1px 2px 0 rgba(0, 0, 0, .05);--shadow-md: 0 4px 6px -1px rgba(0, 0, 0, .1), 0 2px 4px -1px rgba(0, 0, 0, .06);--shadow-lg: 0 10px 15px -3px rgba(0, 0, 0, .1), 0 4px 6px -2px rgba(0, 0, 0, .05);--shadow-xl: 0 20px 25px -5px rgba(0, 0, 0, .1), 0 10px 10px -5px rgba(0, 0, 0, .04);--radius-sm: 6px;--radius-md: 8px;--radius-lg: 12px;--radius-xl: 16px;--spacing-xs: 4px;--spacing-sm: 8px;--spacing-md: 16px;--spacing-lg: 24px;--spacing-xl: 32px;--spacing-2xl: 48px;--max-width: 1200px}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:var(--bg-secondary);color:var(--text-primary);line-height:1.6;min-height:100vh}#root{min-height:100vh}.container{max-width:var(--max-width);width:100%;margin:0 auto;padding:var(--spacing-lg) var(--spacing-md)}h1{font-size:32px;font-weight:700;line-height:1.2;color:var(--text-primary);margin-bottom:var(--spacing-lg)}h2{font-size:24px;font-weight:600;line-height:1.3;color:var(--text-primary);margin-bottom:var(--spacing-md)}h3{font-size:20px;font-weight:600;line-height:1.4;color:var(--text-primary)}.btn{display:inline-flex;align-items:center;justify-content:center;gap:var(--spacing-sm);padding:12px 24px;border:none;border-radius:var(--radius-lg);font-size:15px;font-weight:500;font-family:inherit;cursor:pointer;transition:all .2s cubic-bezier(.4,0,.2,1);background:var(--primary);color:#fff;box-shadow:var(--shadow-sm);position:relative;overflow:hidden}.btn:before{content:"";position:absolute;top:50%;left:50%;width:0;height:0;border-radius:50%;background:#fff3;transform:translate(-50%,-50%);transition:width .6s,height .6s}.btn:hover:before{width:300px;height:300px}.btn:hover{background:var(--primary-hover);transform:translateY(-1px);box-shadow:var(--shadow-md)}.btn:active{transform:translateY(0);box-shadow:var(--shadow-sm)}.btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.btn-secondary{background:#fff;color:var(--text-primary);border:1px solid var(--border)}.btn-secondary:hover{background:var(--bg-tertiary);border-color:var(--primary);color:var(--primary)}.btn-sm{padding:8px 16px;font-size:14px}.input{width:100%;padding:12px 16px;border:1px solid var(--border);border-radius:var(--radius-lg);font-size:15px;font-family:inherit;background:var(--bg-primary);color:var(--text-primary);transition:all .2s}.input:focus{outline:none;border-color:var(--primary);box-shadow:0 0 0 3px var(--primary-light)}.input::placeholder{color:var(--text-tertiary)}.card{background:var(--bg-primary);border-radius:var(--radius-xl);padding:var(--spacing-lg);box-shadow:var(--shadow-sm);border:1px solid var(--border-light);transition:all .2s cubic-bezier(.4,0,.2,1)}.card:hover{box-shadow:var(--shadow-md);transform:translateY(-2px)}.skeleton{background:linear-gradient(90deg,#f0f0f0 25%,#e0e0e0,#f0f0f0 75%);background-size:200% 100%;animation:skeleton-loading 1.5s ease-in-out infinite;border-radius:var(--radius-md)}@keyframes skeleton-loading{0%{background-position:200% 0}to{background-position:-200% 0}}.skeleton-text{height:16px;margin-bottom:8px}.skeleton-title{height:24px;width:60%;margin-bottom:16px}.skeleton-avatar{width:48px;height:48px;border-radius:50%}.skeleton-card{padding:var(--spacing-lg);background:var(--bg-primary);border-radius:var(--radius-xl);border:1px solid var(--border-light)}.loading{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:var(--spacing-2xl);gap:var(--spacing-md)}.loading-spinner{width:40px;height:40px;border:3px solid var(--border);border-top-color:var(--primary);border-radius:50%;animation:spin .8s linear infinite}@keyframes spin{to{transform:rotate(360deg)}}.loading-text{color:var(--text-secondary);font-size:15px}.error{background:#fff5f5;color:#c53030;padding:12px 16px;border-radius:var(--radius-lg);border:1px solid #FED7D7;margin-bottom:var(--spacing-md);font-size:14px;display:flex;align-items:center;gap:var(--spacing-sm)}.success{background:#f0fff4;color:#22543d;padding:12px 16px;border-radius:var(--radius-lg);border:1px solid #C6F6D5;margin-bottom:var(--spacing-md);font-size:14px}.badge{display:inline-flex;align-items:center;gap:var(--spacing-xs);padding:4px 10px;border-radius:12px;font-size:12px;font-weight:500;line-height:1.4}.badge-primary{background:var(--primary-light);color:var(--primary)}.badge-success{background:#e6f7ed;color:var(--success)}.badge-warning{background:#fff8e6;color:#b8860b}.badge-danger{background:#ffebee;color:var(--danger)}.badge-secondary{background:#f5f5f5;color:var(--text-secondary)}.empty-state{text-align:center;padding:var(--spacing-2xl);color:var(--text-secondary)}.empty-state-icon{width:80px;height:80px;margin:0 auto var(--spacing-lg);opacity:.3}.empty-state p{font-size:16px;margin-bottom:var(--spacing-md);color:var(--text-secondary)}.empty-state-subtext{font-size:14px;color:var(--text-tertiary)}@media (max-width: 768px){.container{padding:var(--spacing-md) var(--spacing-sm)}h1{font-size:24px}h2{font-size:20px}}
