.toast{position:fixed;top:4px;right:20px;z-index:10003;background:#fff;border-radius:12px;padding:12px 16px;box-shadow:0 4px 20px #0000001f;display:flex;align-items:center;gap:10px;width:auto;max-width:360px;animation:toastSlideIn .3s cubic-bezier(.16,1,.3,1);border-left:3px solid;overflow:hidden;pointer-events:auto}@keyframes toastSlideIn{0%{opacity:0;transform:translate(calc(100% + 20px))}to{opacity:1;transform:translate(0)}}.toast-success{border-left-color:#48bb78}.toast-warning{border-left-color:#ed8936}.toast-error{border-left-color:#e53e3e}.toast-info{border-left-color:#667eea}.toast-icon{flex-shrink:0;width:20px;height:20px;display:flex;align-items:center;justify-content:center;color:currentColor}.toast-success .toast-icon{color:#48bb78}.toast-warning .toast-icon{color:#ed8936}.toast-error .toast-icon{color:#e53e3e}.toast-info .toast-icon{color:#667eea}.toast-content{flex:1;min-width:0;font-size:13px;line-height:1.4;color:#2d3748;font-weight:400}.toast-close{flex-shrink:0;width:18px;height:18px;border:none;background:transparent;color:#a0aec0;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s;padding:0;opacity:.6}.toast-close:hover{background:#f7fafc;color:#2d3748;opacity:1}.toast-progress{position:absolute;bottom:0;left:0;right:0;height:2px;background:#0000000d;overflow:hidden}.toast-progress-bar{height:100%;background:currentColor;animation:toastProgress linear forwards;transform-origin:left}.toast-success .toast-progress-bar{background:#48bb78}.toast-warning .toast-progress-bar{background:#ed8936}.toast-error .toast-progress-bar{background:#e53e3e}.toast-info .toast-progress-bar{background:#667eea}@keyframes toastProgress{0%{transform:scaleX(1)}to{transform:scaleX(0)}}@media (max-width: 768px){.toast{top:4px;right:16px;max-width:calc(100vw - 32px)}}@media (max-width: 480px){.toast{padding:10px 14px;gap:8px;top:4px;right:12px;max-width:calc(100vw - 24px)}.toast-icon{width:18px;height:18px}.toast-content{font-size:12px}.toast-close{width:16px;height:16px}}.desktop-download-tiles{display:grid;grid-template-columns:repeat(3,minmax(0,1fr));gap:10px}.desktop-download-tile{position:relative;display:flex;flex-direction:column;align-items:center;gap:2px;padding:18px 8px 12px;border:1.5px solid #e2e8f0;border-radius:14px;background:#f8fafc;color:#2d3748;text-decoration:none;text-align:center;transition:border-color .2s,transform .2s,box-shadow .2s}.desktop-download-tile:hover{border-color:#667eea;transform:translateY(-2px);box-shadow:0 8px 20px #667eea2e}.desktop-download-tile-icon{display:flex;margin-bottom:6px;color:#4a5568}.desktop-download-tile-icon svg{width:26px;height:26px}.desktop-download-tile-name{font-size:14px;font-weight:700}.desktop-download-tile-detail{font-size:11.5px;line-height:1.35;color:#718096}.desktop-download-tile-detail{margin-bottom:10px}.desktop-download-tile-cta{display:inline-flex;align-items:center;gap:5px;margin-top:auto;padding:5px 12px;border-radius:999px;background:#fff;border:1px solid #e2e8f0;color:#667eea;font-size:12px;font-weight:600}.desktop-download-tile.suggested{border-color:transparent;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 8px 20px #667eea59}.desktop-download-tile.suggested .desktop-download-tile-icon,.desktop-download-tile.suggested .desktop-download-tile-detail{color:#ffffffd9}.desktop-download-tile.suggested .desktop-download-tile-cta{border-color:transparent;color:#5a67d8}.desktop-download-tile-tag{position:absolute;top:-9px;left:50%;transform:translate(-50%);padding:2px 8px;border-radius:999px;background:#fbbf24;color:#78350f;font-size:10.5px;font-weight:700;white-space:nowrap}.desktop-download-guide{display:inline-flex;align-items:center;gap:4px;margin-top:14px;color:#667eea;font-size:13px;font-weight:600;text-decoration:none}.desktop-download-guide:hover{text-decoration:underline}.desktop-download-card{width:100%;max-width:440px;padding:24px;border-radius:20px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);box-shadow:0 20px 60px #0003;animation:slideUp .5s ease-out .1s both}.desktop-download-head{display:flex;gap:14px;margin-bottom:18px}.desktop-download-badge{width:44px;height:44px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.desktop-download-head h2{margin:0 0 4px;font-size:17px;font-weight:700;color:#1a202c}.desktop-download-head p{margin:0;font-size:13px;line-height:1.5;color:#718096}.desktop-download-strip{display:flex;align-items:center;gap:12px;margin-bottom:20px;padding:10px 12px 10px 14px;border-radius:14px;background:#fffffff2;box-shadow:0 8px 24px #0000001f;border-left:4px solid #667eea}.desktop-download-strip-icon{width:32px;height:32px;flex:none;display:flex;align-items:center;justify-content:center;border-radius:9px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff}.desktop-download-new{flex:none;padding:2px 8px;border-radius:999px;background:#fef3c7;color:#b45309;font-size:11px;font-weight:700}.desktop-download-strip-text{flex:1;min-width:0;margin:0;font-size:14px;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.desktop-download-strip-text strong{color:#1a202c;font-weight:700}.desktop-download-strip-btn{flex:none;display:inline-flex;align-items:center;gap:6px;padding:8px 16px;border-radius:10px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:13px;font-weight:600;text-decoration:none;box-shadow:0 4px 12px #667eea59;transition:transform .2s,box-shadow .2s}.desktop-download-strip-btn:hover{transform:translateY(-1px);box-shadow:0 6px 16px #667eea73}.desktop-download-strip-link{flex:none;color:#667eea;font-size:13px;font-weight:600;text-decoration:none}.desktop-download-strip-link:hover{text-decoration:underline}.desktop-download-close{width:28px;height:28px;flex:none;display:flex;align-items:center;justify-content:center;border:none;border-radius:8px;background:transparent;color:#a0aec0;cursor:pointer}.desktop-download-close:hover{background:#edf2f7;color:#4a5568}.desktop-download-sidebar{width:100%;padding:10px 16px;border-radius:12px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;font-size:14px;font-weight:600;text-decoration:none;display:flex;align-items:center;justify-content:center;gap:8px;transition:opacity .2s}.desktop-download-sidebar:hover{opacity:.9}@media (max-width: 768px){.desktop-download-strip-text span,.desktop-download-strip-link{display:none}.desktop-download-card{padding:20px}}.login-container{width:100%;min-height:100vh;display:flex;flex-direction:column;align-items:center;justify-content:center;gap:20px;padding:20px}.login-card{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:24px;box-shadow:0 20px 60px #0000004d;padding:48px 40px;width:100%;max-width:440px;animation:slideUp .5s ease-out}@keyframes slideUp{0%{opacity:0;transform:translateY(30px)}to{opacity:1;transform:translateY(0)}}.login-header{text-align:center;margin-bottom:40px}.logo{width:64px;height:64px;margin:0 auto 24px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;display:flex;align-items:center;justify-content:center;color:#fff;box-shadow:0 8px 16px #667eea66}.login-title{font-size:28px;font-weight:700;color:#1a202c;margin-bottom:8px;letter-spacing:-.5px}.login-subtitle{font-size:15px;color:#718096;font-weight:400;line-height:1.5}.login-content{display:flex;flex-direction:column;gap:24px}.google-signin-container{display:flex;justify-content:center;align-items:center;min-height:50px}.google-button-wrapper{display:flex;justify-content:center;width:100%}.divider{position:relative;text-align:center;margin:8px 0}.divider:before{content:"";position:absolute;top:50%;left:0;right:0;height:1px;background:#e2e8f0}.divider span{position:relative;background:#fffffff2;padding:0 16px;color:#a0aec0;font-size:14px}.info-box{background:#f7fafc;border-radius:12px;padding:16px;border:1px solid #e2e8f0}.info-text{font-size:13px;color:#718096;text-align:center;line-height:1.6;margin:0}.loading-spinner{display:flex;flex-direction:column;align-items:center;gap:16px;padding:20px}.spinner{width:40px;height:40px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin .8s linear infinite}.loading-spinner p{color:#718096;font-size:14px;margin:0}@media (max-width: 480px){.login-card{padding:32px 24px;border-radius:20px}.login-title{font-size:24px}.logo{width:56px;height:56px}}.quick-tag-tab{width:100%;max-width:900px;margin:0 auto}.tab-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:20px}.btn-running{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 2px 8px #0000001a}.btn-running.running{background:linear-gradient(135deg,#e74c3c,#c0392b);color:#fff}.btn-running.running:hover:not(:disabled){background:linear-gradient(135deg,#c0392b,#a93226);transform:translateY(-2px);box-shadow:0 4px 12px #e74c3c4d}.btn-running.stopped{background:linear-gradient(135deg,#27ae60,#229954);color:#fff}.btn-running.stopped:hover:not(:disabled){background:linear-gradient(135deg,#229954,#1e8449);transform:translateY(-2px);box-shadow:0 4px 12px #27ae604d}@media (max-width: 768px){.tab-header-content{flex-direction:column;align-items:stretch}.btn-running{width:100%;justify-content:center}}.tab-content{display:flex;flex-direction:column;gap:24px}.input-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.form-group{margin-bottom:24px}.form-group:last-child{margin-bottom:0}.message-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;font-family:inherit;resize:vertical;transition:all .2s}.message-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.tag-input-wrapper{display:flex;gap:8px}.tag-input{flex:1;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;transition:all .2s}.tag-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.add-tag-btn{padding:12px 16px;background:#667eea;color:#fff;border:none;border-radius:12px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.add-tag-btn:hover{background:#5568d3;transform:translateY(-1px)}.tags-list{display:flex;flex-wrap:wrap;gap:8px;margin-top:12px}.tag-item{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#edf2f7;border-radius:20px;font-size:14px;color:#2d3748;font-weight:500}.tag-remove{background:none;border:none;color:#718096;cursor:pointer;font-size:18px;line-height:1;padding:0;width:18px;height:18px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .2s}.tag-remove:hover{background:#cbd5e0;color:#2d3748}.action-buttons{display:flex;gap:12px;margin-top:24px}.btn-primary,.btn-secondary{flex:1;padding:12px 24px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.result-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.result-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.result-header h3{font-size:18px;font-weight:600;color:#1a202c;margin:0}.copy-btn{padding:8px 16px;background:#edf2f7;border:none;border-radius:8px;font-size:14px;font-weight:500;color:#2d3748;cursor:pointer;display:flex;align-items:center;gap:6px;transition:all .2s}.copy-btn:hover{background:#e2e8f0}.result-content{background:#f7fafc;border-radius:12px;padding:16px;border:1px solid #e2e8f0}.result-content pre{margin:0;font-family:Inter,-apple-system,BlinkMacSystemFont,sans-serif;font-size:14px;line-height:1.6;color:#2d3748;white-space:pre-wrap;word-wrap:break-word}.empty-state{text-align:center;padding:60px 20px;background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.empty-state-icon{width:64px;height:64px;margin:0 auto 20px;color:#667eea;display:flex;align-items:center;justify-content:center}.empty-state h3{font-size:24px;font-weight:600;color:#1a202c;margin:0 0 12px}.empty-state p{font-size:15px;color:#718096;max-width:400px;margin:0 auto 24px}.empty-state .btn-primary{display:inline-flex;align-items:center;gap:8px;padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea66}.empty-state .btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.shop-section{background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0;margin-bottom:24px}.shop-header{display:flex;justify-content:space-between;align-items:center;gap:16px;margin-bottom:20px;flex-wrap:wrap}.shop-header h3{font-size:18px;font-weight:600;color:#1a202c;margin:0;flex:1;min-width:0}.shop-header .btn-primary{flex:0 0 auto;padding:10px 20px;font-size:14px;white-space:nowrap;display:flex;align-items:center;gap:8px;min-width:0;max-width:100%;flex-shrink:0}.shop-header .btn-text-short{display:none}.shop-header .btn-primary:disabled{opacity:.6;cursor:not-allowed}.shop-header .btn-primary svg.spinning{animation:spin 1s linear infinite}.shops-table-wrapper{margin-top:20px;overflow-x:auto;overflow-y:auto;max-height:600px;-webkit-overflow-scrolling:touch;position:relative}.shops-table{width:100%;border-collapse:collapse;background:#fff;border-radius:12px;overflow:hidden;box-shadow:0 1px 3px #0000001a;min-width:600px}.shops-table thead{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;position:sticky;top:0;z-index:10}.shops-table th{padding:16px;text-align:left;font-weight:600;font-size:14px;text-transform:uppercase;letter-spacing:.5px}.shops-table th:first-child{width:50px;text-align:center}.shops-table th:first-child input[type=checkbox]{cursor:pointer}.shops-table td:first-child{text-align:center}.shops-table td:first-child input[type=checkbox]{width:18px;height:18px;cursor:pointer}.shops-table tbody tr{border-bottom:1px solid #e2e8f0;transition:background-color .2s}.shops-table tbody tr:hover{background-color:#f7fafc}.shops-table tbody tr:last-child{border-bottom:none}.shops-table td{padding:16px;font-size:14px;color:#2d3748}.shops-table td:first-child{text-align:center;color:#718096;font-weight:500}.empty-shops{text-align:center;padding:40px 20px;color:#718096;font-size:14px}@media (max-width: 768px){.quick-tag-tab{max-width:100%;padding:0}.tab-header h2{font-size:24px}.tab-header p{font-size:14px}.input-section{padding:20px}.action-buttons{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.tag-input-wrapper{flex-direction:column}.add-tag-btn{width:100%}.shop-header{flex-direction:column;align-items:stretch;gap:12px}.shop-header h3{font-size:16px;word-break:break-word}.shop-header .btn-primary{width:100%;padding:12px 16px;font-size:14px;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-header .btn-primary .btn-text{display:none}.shop-header .btn-primary .btn-text-short{display:inline}.shops-table-wrapper{margin-left:-20px;margin-right:-20px;padding:0 20px;max-height:500px}.shops-table{min-width:100%}.shops-table th,.shops-table td{padding:12px 10px;font-size:13px}.shops-table th{font-size:12px}}@media (max-width: 480px){.quick-tag-tab,.tab-content{padding:0}.tab-header{margin-bottom:24px;padding:0 16px}.tab-header h2{font-size:20px}.input-section{padding:16px}.form-group{margin-bottom:20px}.message-input,.tag-input{font-size:14px;padding:10px 14px}.tags-list{gap:6px}.tag-item{font-size:13px;padding:5px 10px}.result-section{padding:20px}.result-content{padding:12px}.result-content pre{font-size:13px}.shop-section{padding:16px;margin:0 -16px}.shop-header{flex-direction:column;align-items:stretch;gap:12px;padding:0 16px}.shop-header h3{font-size:16px;word-break:break-word}.shop-header .btn-primary{width:100%;padding:12px 16px;font-size:14px;justify-content:center;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.shop-header .btn-primary svg{flex-shrink:0}.shop-header .btn-primary .btn-text{display:none}.shop-header .btn-primary .btn-text-short{display:inline}.shops-table-wrapper{overflow-x:auto;overflow-y:auto;max-height:400px;margin-left:-16px;margin-right:-16px;padding:0 16px;width:calc(100% + 32px)}.shops-table{min-width:100%;border-radius:0}.shops-table th:nth-child(2),.shops-table td:nth-child(2),.shops-table th:nth-child(4),.shops-table td:nth-child(4){display:none}.shops-table th,.shops-table td{padding:10px 8px;font-size:12px}.shops-table th{font-size:11px;padding:12px 8px}.shops-table th:first-child,.shops-table td:first-child{width:40px;padding:10px 6px}.shops-table td:nth-child(3){min-width:0;max-width:200px;word-break:break-word}.shops-table td:nth-child(5){min-width:100px}.tag-cell-btn{font-size:11px;padding:5px 8px;white-space:nowrap}}@media (max-width: 768px){.shops-table-wrapper{margin-left:-20px;margin-right:-20px;padding:0 20px;max-height:500px}.shops-table th,.shops-table td{padding:12px 10px;font-size:13px}.shops-table th{font-size:12px}}.tag-cell-btn{display:inline-flex;align-items:center;gap:6px;padding:6px 12px;background:#edf2f7;border:1px solid #e2e8f0;border-radius:8px;font-size:14px;color:#667eea;font-weight:500;cursor:pointer;transition:all .2s}.tag-cell-btn:hover{background:#e2e8f0;border-color:#cbd5e0;transform:translateY(-1px)}.tag-cell-btn svg{opacity:.6}.tag-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;margin:0}.tag-modal{background:#fff;border-radius:16px;width:100%;max-width:500px;max-height:80vh;display:flex;flex-direction:column;box-shadow:0 20px 60px #0000004d}.tag-modal-header{display:flex;justify-content:space-between;align-items:center;padding:20px 24px;border-bottom:1px solid #e2e8f0}.tag-modal-header h3{font-size:18px;font-weight:600;color:#1a202c;margin:0}.tag-modal-close{background:none;border:none;color:#718096;cursor:pointer;padding:4px;display:flex;align-items:center;justify-content:center;border-radius:4px;transition:all .2s}.tag-modal-close:hover{background:#f7fafc;color:#2d3748}.tag-modal-content{padding:24px;overflow-y:auto;flex:1}.tag-loading,.tag-empty{text-align:center;padding:40px 20px;color:#718096}.tags-list-modal{display:flex;flex-direction:column;gap:8px}.tag-item-modal{display:flex;align-items:center;gap:12px;padding:12px 16px;background:#f7fafc;border:2px solid #e2e8f0;border-left:4px solid #e2e8f0;border-radius:8px;font-size:14px;color:#2d3748;cursor:pointer;transition:all .2s;width:100%;text-align:left}.tag-item-modal:hover{background:#edf2f7;border-color:#cbd5e0}.tag-item-modal.active{background:#e6f0ff;border-color:#667eea;border-left-color:#667eea;color:#667eea;font-weight:600}.tag-item-modal:disabled{opacity:.6;cursor:not-allowed}.tag-color-dot{width:12px;height:12px;border-radius:50%;flex-shrink:0}.tag-item-modal span:not(.tag-color-dot){flex:1}.pancake-utils-tab{width:100%;max-width:1200px;margin:0 auto}.utils-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(280px,1fr));gap:20px}.util-card{background:#fff;border-radius:16px;padding:24px;border:2px solid #e2e8f0;cursor:pointer;transition:all .3s ease;display:flex;flex-direction:column;gap:16px;position:relative;overflow:hidden}.util-card:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--util-color);transform:scaleX(0);transition:transform .3s ease}.util-card:hover{border-color:var(--util-color);transform:translateY(-4px);box-shadow:0 8px 24px #0000001f}.util-card:hover:before{transform:scaleX(1)}.util-icon{width:64px;height:64px;border-radius:16px;display:flex;align-items:center;justify-content:center;margin-bottom:8px}.util-content h3{font-size:20px;font-weight:600;color:#1a202c;margin:0 0 8px}.util-content p{font-size:14px;color:#718096;margin:0;line-height:1.5}.util-arrow{position:absolute;top:24px;right:24px;color:#cbd5e0;transition:all .3s ease}.util-card:hover .util-arrow{color:var(--util-color);transform:translate(4px)}.util-modal{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;animation:fadeIn .2s ease}.modal-content{background:#fff;border-radius:20px;width:100%;max-width:500px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s ease}@keyframes slideUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.modal-header{display:flex;justify-content:space-between;align-items:center;padding:24px;border-bottom:1px solid #e2e8f0}.modal-header h3{font-size:22px;font-weight:600;color:#1a202c;margin:0}.modal-close{background:none;border:none;font-size:28px;color:#718096;cursor:pointer;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s}.modal-body{padding:24px;overflow-y:auto}.form-group{margin-bottom:20px}.form-group label{display:block;font-size:14px;font-weight:600;color:#2d3748;margin-bottom:8px}.token-display{padding:12px 16px;background:#f7fafc;border-radius:12px;border:1px solid #e2e8f0}.token-display code{font-family:Courier New,monospace;font-size:14px;color:#2d3748}.no-token{color:#a0aec0;font-style:italic}.token-input{width:100%;padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;font-family:Courier New,monospace;transition:all .2s}.token-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.modal-actions{display:flex;gap:12px;margin-top:24px}.btn-primary,.btn-secondary{flex:1;padding:12px 24px;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea66}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea80}.btn-secondary{background:#fff;color:#2d3748;border:2px solid #e2e8f0}.coming-soon{text-align:center;padding:40px 20px}.coming-soon-icon{font-size:64px;margin-bottom:16px}.coming-soon h4{font-size:20px;font-weight:600;color:#1a202c;margin:0 0 8px}.coming-soon p{font-size:15px;color:#718096;margin:0}@media (max-width: 1024px){.utils-grid{grid-template-columns:repeat(auto-fill,minmax(250px,1fr));gap:16px}}@media (max-width: 768px){.pancake-utils-tab{max-width:100%}.tab-header h2{font-size:24px}.tab-header p{font-size:14px}.utils-grid{grid-template-columns:repeat(auto-fill,minmax(200px,1fr));gap:16px}.util-card{padding:20px}.util-icon{width:56px;height:56px}.util-content h3{font-size:18px}.util-content p{font-size:13px}.modal-content{max-width:90%;margin:20px}.modal-header,.modal-body{padding:20px}}@media (max-width: 480px){.tab-header{margin-bottom:24px}.tab-header h2{font-size:20px}.utils-grid{grid-template-columns:1fr;gap:12px}.util-card{padding:16px}.util-icon{width:48px;height:48px}.util-content h3{font-size:16px}.util-content p{font-size:12px}.modal-content{max-width:95%;margin:10px;border-radius:16px}.modal-header{padding:16px}.modal-header h3{font-size:18px}.modal-body{padding:16px}.token-input{font-size:14px;padding:10px 14px}.modal-actions{flex-direction:column}.btn-primary,.btn-secondary{width:100%}.coming-soon{padding:30px 16px}.coming-soon-icon{font-size:48px}.coming-soon h4{font-size:18px}.coming-soon p{font-size:14px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10002;animation:fadeIn .2s ease-out}.modal-container{background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:400px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.16,1,.3,1)}.modal-header{display:flex;align-items:center;justify-content:space-between;padding:20px 24px;border-bottom:1px solid #e2e8f0}.modal-title{margin:0;font-size:20px;font-weight:600;color:#1a202c}.modal-close{width:32px;height:32px;border:none;background:transparent;color:#718096;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;padding:0}.modal-close:hover{background:#f7fafc;color:#2d3748}.modal-body{padding:24px;flex:1;overflow-y:auto}.modal-message{margin:0;font-size:15px;line-height:1.6;color:#4a5568}.modal-footer{display:flex;gap:12px;padding:20px 24px;border-top:1px solid #e2e8f0;justify-content:flex-end}.modal-btn{padding:10px 20px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;min-width:80px}.modal-btn-cancel{background:#f7fafc;color:#4a5568;border:1px solid #e2e8f0}.modal-btn-cancel:hover{background:#edf2f7;color:#2d3748}.modal-btn-confirm{color:#fff}.modal-btn-confirm.modal-btn-confirm{background:linear-gradient(135deg,#667eea,#764ba2)}.modal-btn-confirm.modal-btn-confirm:hover{transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.modal-btn-confirm.modal-btn-danger{background:#e53e3e}.modal-btn-confirm.modal-btn-danger:hover{background:#c53030;transform:translateY(-1px);box-shadow:0 4px 12px #e53e3e66}@media (max-width: 480px){.modal-container{width:95%;margin:20px}.modal-header{padding:16px 20px}.modal-title{font-size:18px}.modal-body{padding:20px}.modal-footer{padding:16px 20px;flex-direction:column-reverse}.modal-btn{width:100%}}.settings-tab{width:100%;max-width:1000px;margin:0 auto}.tab-header{margin-bottom:32px}.settings-content{display:flex;gap:24px;background:#fff;border-radius:16px;padding:24px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0}.settings-sidebar{width:220px;flex-shrink:0;display:flex;flex-direction:column;gap:8px;padding-right:24px;border-right:1px solid #e2e8f0}.settings-nav-item{padding:12px 16px;border:none;background:transparent;border-radius:12px;font-size:14px;font-weight:500;color:#718096;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s;text-align:left}.settings-nav-item:hover{background:#f7fafc;color:#2d3748}.settings-nav-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.settings-main{flex:1;min-width:0}.settings-section h3{font-size:22px;font-weight:600;color:#1a202c;margin:0 0 24px}.settings-form{display:flex;flex-direction:column;gap:24px}.form-group{display:flex;flex-direction:column;gap:8px}.form-group label{font-size:14px;font-weight:600;color:#2d3748}.form-input{padding:12px 16px;border:2px solid #e2e8f0;border-radius:12px;font-size:15px;transition:all .2s;background:#f7fafc;color:#718096}.form-input:disabled{cursor:not-allowed}.form-note{font-size:13px;color:#a0aec0;margin:0}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:16px}.avatar-upload{display:flex;flex-direction:column;align-items:flex-start;gap:12px}.avatar-preview{width:80px;height:80px;border-radius:50%;overflow:hidden;border:3px solid #667eea;box-shadow:0 4px 12px #667eea33}.avatar-preview img{width:100%;height:100%;object-fit:cover}.avatar-note{font-size:13px;color:#718096;margin:0}.info-display{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f7fafc;border-radius:12px;border:1px solid #e2e8f0}.info-display code{flex:1;font-family:Courier New,monospace;font-size:13px;color:#2d3748;word-break:break-all}.copy-code-btn{padding:6px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#718096;flex-shrink:0}.copy-code-btn:hover{background:#edf2f7;border-color:#cbd5e0;color:#2d3748}.token-section{margin-top:8px}.token-display-section{display:flex;flex-direction:column;gap:12px}.token-display-box{display:flex;align-items:center;gap:8px;padding:12px 16px;background:#f7fafc;border-radius:12px;border:1px solid #e2e8f0}.token-display-box code{flex:1;font-family:Courier New,monospace;font-size:13px;color:#2d3748;word-break:break-all}.token-actions{display:flex;gap:4px}.edit-token-btn{padding:6px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s;color:#667eea;flex-shrink:0}.edit-token-btn:hover{background:#edf2f7;border-color:#667eea;color:#667eea}.btn-remove-token{padding:10px 20px;background:#fed7d7;color:#c53030;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;transition:all .2s;align-self:flex-start}.btn-remove-token:hover{background:#feb2b2;transform:translateY(-1px)}.btn-remove-token:disabled{opacity:.6;cursor:not-allowed}.token-input-section{display:flex;flex-direction:column;gap:12px}.token-input{font-family:Courier New,monospace;font-size:13px}.token-form-actions{display:flex;gap:12px;align-items:center}.btn-save-token{padding:12px 24px;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #667eea4d}.btn-save-token:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #667eea66}.btn-save-token:disabled{opacity:.6;cursor:not-allowed}.btn-cancel-token{padding:12px 24px;background:#f7fafc;color:#718096;border:1px solid #e2e8f0;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s}.btn-cancel-token:hover:not(:disabled){background:#edf2f7;border-color:#cbd5e0;color:#2d3748}.btn-cancel-token:disabled{opacity:.6;cursor:not-allowed}.no-token-box{padding:20px;background:#fef5e7;border-radius:12px;border:1px solid #f6e05e;text-align:center}.no-token-header{display:flex;align-items:center;justify-content:center;gap:10px;margin-bottom:12px}.no-token-header svg{color:#ed8936;flex-shrink:0}.no-token-header p{margin:0;font-size:15px;font-weight:600;color:#744210}.no-token-box .text-muted{margin:0;font-size:13px;color:#975a16;line-height:1.5}.security-info{margin-top:8px}.security-item{display:flex;align-items:center;gap:12px;padding:16px;background:#f7fafc;border-radius:12px;border:1px solid #e2e8f0}.security-item svg{color:#667eea;flex-shrink:0}.security-item>div{flex:1;min-width:0}.security-label{font-size:13px;color:#718096;margin-bottom:4px}.security-value{font-size:15px;font-weight:500;color:#2d3748;word-break:break-all}.security-badge{padding:4px 12px;border-radius:12px;font-size:12px;font-weight:600;flex-shrink:0}.security-badge.active{background:#c6f6d5;color:#22543d}.subscription-card{background:linear-gradient(135deg,#667eea,#764ba2);border-radius:16px;padding:24px;color:#fff}.subscription-status{margin-bottom:20px}.status-badge{display:inline-block;padding:6px 16px;border-radius:20px;font-size:13px;font-weight:600;background:#fff3;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.status-badge.trial{background:#ffffff40}.status-badge.paid{background:#48bb784d;color:#c6f6d5}.status-badge.expired{background:#ef44444d;color:#fee2e2}.subscription-info{margin-bottom:24px}.subscription-info .info-item{display:flex;justify-content:space-between;align-items:center;padding:12px 0;border-bottom:1px solid rgba(255,255,255,.2)}.subscription-info .info-item:last-child{border-bottom:none}.subscription-info .info-label{font-size:14px;opacity:.9}.subscription-info .info-value{font-size:15px;font-weight:600}.subscription-info .info-value.expired{color:#fee2e2;font-weight:700}.time-remaining-value{color:#fef5e7}.subscription-actions{margin-top:20px}.btn-upgrade{width:100%;padding:12px 24px;background:#fff;color:#667eea;border:none;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;transition:all .2s;box-shadow:0 4px 12px #00000026}.btn-upgrade:hover{transform:translateY(-2px);box-shadow:0 6px 20px #0003}.tag-setting-options{display:flex;flex-direction:column;gap:12px}.tag-option{display:flex;align-items:flex-start;gap:12px;padding:16px;background:#f7fafc;border:2px solid #e2e8f0;border-radius:12px;cursor:pointer;transition:all .2s}.tag-option:hover{background:#edf2f7;border-color:#cbd5e0}.tag-option input[type=radio]{margin-top:2px;cursor:pointer;width:18px;height:18px;accent-color:#667eea;flex-shrink:0}.tag-option input[type=radio]:checked~.tag-option-content{color:#2d3748}.tag-option:has(input[type=radio]:checked){background:#edf2f7;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.tag-option-content{flex:1;min-width:0}.tag-option-title{font-size:15px;font-weight:600;color:#2d3748;margin-bottom:4px}.tag-option-description{font-size:13px;color:#718096;line-height:1.5}.tag-option:has(input[type=radio]:disabled){opacity:.6;cursor:not-allowed}@media (max-width: 768px){.settings-tab{max-width:100%}.tab-header{margin-bottom:24px}.tab-header h2{font-size:24px}.tab-header p{font-size:14px}.settings-content{flex-direction:column;padding:20px;gap:0}.settings-sidebar{width:100%;padding-right:0;padding-bottom:20px;margin-bottom:20px;border-right:none;border-bottom:1px solid #e2e8f0;flex-direction:row;overflow-x:auto;gap:8px;-webkit-overflow-scrolling:touch}.settings-sidebar::-webkit-scrollbar{height:4px}.settings-sidebar::-webkit-scrollbar-thumb{background:#cbd5e0;border-radius:2px}.settings-nav-item{white-space:nowrap;flex-shrink:0;padding:10px 14px;font-size:13px}.settings-nav-item svg{width:16px;height:16px}.settings-main{width:100%}.settings-section h3{font-size:20px;margin-bottom:20px}.settings-form{gap:20px}.form-row{grid-template-columns:1fr;gap:20px}.form-group label{font-size:13px}.form-input{padding:10px 14px;font-size:14px}.avatar-upload{align-items:center}.avatar-preview{width:70px;height:70px}.info-display{flex-direction:column;align-items:stretch;gap:12px;padding:12px}.info-display code{font-size:12px;word-break:break-all}.copy-code-btn{width:100%;justify-content:center;padding:8px}.token-display-section{gap:10px}.token-display-box{flex-direction:column;align-items:stretch;gap:12px;padding:12px}.token-display-box code{font-size:12px;text-align:center}.token-actions{width:100%;justify-content:center}.token-actions .copy-code-btn,.token-actions .edit-token-btn{flex:1}.btn-remove-token{width:100%;align-self:stretch}.token-form-actions{flex-direction:column;gap:10px}.btn-save-token,.btn-cancel-token{width:100%}.security-item{flex-direction:column;align-items:flex-start;gap:12px;padding:12px}.security-item svg{align-self:flex-start}.security-item>div{width:100%}.security-badge{align-self:flex-start}.subscription-card{padding:20px}.subscription-info .info-item{flex-direction:column;align-items:flex-start;gap:6px;padding:10px 0}.subscription-info .info-label{font-size:13px}.subscription-info .info-value{font-size:14px}.btn-upgrade{padding:14px 20px;font-size:14px}}@media (max-width: 480px){.tab-header h2{font-size:22px}.tab-header p{font-size:13px}.settings-content{padding:16px;border-radius:12px}.settings-sidebar{padding-bottom:16px;margin-bottom:16px}.settings-section h3{font-size:18px;margin-bottom:16px}.settings-form{gap:16px}.form-group{gap:6px}.form-group label{font-size:12px}.form-input{padding:10px 12px;font-size:14px}.form-note{font-size:12px}.avatar-preview{width:60px;height:60px}.avatar-note{font-size:12px}.subscription-card{padding:16px}.subscription-status{margin-bottom:16px}.subscription-info{margin-bottom:20px}.subscription-info .info-item{padding:8px 0}.subscription-info .info-label{font-size:12px}.subscription-info .info-value{font-size:13px}.btn-upgrade{padding:12px 16px;font-size:13px}}.logs-tab{width:100%;max-width:1200px;margin:0 auto}.tab-header{margin-bottom:24px}.tab-header-content{display:flex;justify-content:space-between;align-items:flex-start;gap:20px;margin-bottom:16px}.tab-header h2{font-size:28px;font-weight:700;color:#1a202c;margin:0 0 8px;letter-spacing:-.5px}.tab-header p{font-size:15px;color:#718096;margin:0}.logs-controls{display:flex;align-items:center;gap:12px;flex-wrap:wrap}.tag-comment-toggle{display:flex;align-items:center;gap:8px;padding:8px 12px;background:#f7fafc;border:1px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s;font-size:14px;font-weight:500;color:#2d3748;-webkit-user-select:none;user-select:none}.tag-comment-toggle:hover{background:#edf2f7;border-color:#cbd5e0}.tag-comment-toggle input[type=checkbox]{width:16px;height:16px;cursor:pointer;accent-color:#667eea;margin:0}.tag-comment-toggle input[type=checkbox]:disabled{cursor:not-allowed;opacity:.6}.tag-comment-toggle:has(input[type=checkbox]:checked){background:#edf2f7;border-color:#667eea;color:#667eea}.tag-comment-toggle span{white-space:nowrap}.btn-running{display:flex;align-items:center;gap:8px;padding:12px 24px;font-size:15px;font-weight:600;border:none;border-radius:10px;cursor:pointer;transition:all .3s ease;white-space:nowrap;position:relative;overflow:hidden;box-shadow:0 2px 8px #0000001a}.btn-running:disabled{opacity:.6;cursor:not-allowed}.btn-running.running{background:#fee;color:#c53030;border:2px solid #fc8181}.btn-running.running:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-running.running:hover:not(:disabled):before{left:100%}.btn-running.running:hover:not(:disabled){background:#fcc;border-color:#c53030;transform:translateY(-1px);box-shadow:0 2px 8px #c5303033}.btn-running.stopped{background:#f0fff4;color:#22543d;border:2px solid #68d391}.btn-running.stopped:before{content:"";position:absolute;top:0;left:-100%;width:100%;height:100%;background:linear-gradient(90deg,transparent,rgba(255,255,255,.3),transparent);transition:left .5s}.btn-running.stopped:hover:not(:disabled):before{left:100%}.btn-running.stopped:hover:not(:disabled){background:#c6f6d5;border-color:#22543d;transform:translateY(-1px);box-shadow:0 2px 8px #22543d33}.btn-running:active:not(:disabled){transform:translateY(0)}.btn-running svg.spinning{animation:spin 1s linear infinite}.auto-scroll-toggle{display:flex;align-items:center;gap:8px;font-size:14px;color:#4a5568;cursor:pointer}.auto-scroll-toggle input[type=checkbox]{width:18px;height:18px;cursor:pointer}.btn-secondary{padding:10px 20px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;background:#fff;color:#2d3748;border:2px solid #e2e8f0;transition:all .3s ease}.btn-secondary:hover{background:#f7fafc;border-color:#cbd5e0}.btn-secondary:disabled{opacity:.6;cursor:not-allowed}.btn-danger{padding:10px 20px;border:none;border-radius:10px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;background:linear-gradient(135deg,#e53e3e,#c53030);color:#fff;transition:all .3s ease;box-shadow:0 2px 8px #e53e3e4d}.btn-danger:hover{transform:translateY(-2px);box-shadow:0 4px 12px #e53e3e66}.btn-danger:active{transform:translateY(0)}.logs-container{background:#fff;border-radius:16px;box-shadow:0 1px 3px #0000001a;border:1px solid #e2e8f0;overflow:hidden;max-height:calc(100vh - 300px);min-height:400px;display:flex;flex-direction:column}.logs-loading,.logs-empty{display:flex;flex-direction:column;align-items:center;justify-content:center;padding:60px 20px;color:#718096;flex:1}.logs-empty svg{color:#cbd5e0;margin-bottom:20px}.logs-empty p{font-size:16px;margin:0}.logs-list{flex:1;overflow-y:auto;padding:16px;display:flex;flex-direction:column;gap:12px}.log-item{background:#f7fafc;border-radius:10px;padding:12px 16px;border-left:4px solid #718096;transition:all .2s}.log-item:hover{background:#edf2f7;box-shadow:0 2px 8px #0000000d}.log-header{display:flex;align-items:center;gap:10px;margin-bottom:8px;flex-wrap:wrap}.log-icon{font-size:18px;line-height:1}.log-type{font-size:11px;font-weight:700;text-transform:uppercase;letter-spacing:.5px;padding:2px 8px;background:#0000000d;border-radius:4px}.log-time{font-size:12px;color:#718096;margin-left:auto}.log-message{font-size:14px;color:#2d3748;line-height:1.5;word-break:break-word}.log-details{margin-top:10px;padding-top:10px;border-top:1px solid #e2e8f0}.log-details summary{font-size:12px;color:#667eea;cursor:pointer;font-weight:600;-webkit-user-select:none;user-select:none}.log-details summary:hover{color:#764ba2}.log-data{margin-top:8px;padding:12px;background:#1a202c;color:#e2e8f0;border-radius:8px;font-size:12px;line-height:1.6;overflow-x:auto;font-family:Courier New,monospace}@media (max-width: 768px){.tab-header-content{flex-direction:column;align-items:stretch;gap:16px}.btn-running{width:100%;justify-content:center}.logs-controls{flex-direction:column;align-items:stretch;width:100%}.auto-scroll-toggle{width:100%}.btn-secondary,.btn-danger{width:100%;justify-content:center}.log-header{flex-direction:column;align-items:flex-start;gap:6px}.log-time{margin-left:0}.logs-container{max-height:calc(100vh - 250px);min-height:300px}}@media (max-width: 480px){.logs-tab{padding:0}.tab-header{padding:0 16px}.logs-container{border-radius:0;max-height:calc(100vh - 200px)}.logs-list{padding:12px}.log-item{padding:10px 12px}.log-message{font-size:13px}}.modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10001;animation:fadeIn .2s ease-out;margin:0;padding:0}@keyframes fadeIn{0%{opacity:0}to{opacity:1}}.shop-settings-modal-container{position:relative;background:#fff;border-radius:16px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:600px;max-height:90vh;overflow:hidden;display:flex;flex-direction:column;animation:slideUp .3s cubic-bezier(.16,1,.3,1);margin:auto}@keyframes slideUp{0%{opacity:0;transform:translateY(20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.shop-settings-modal-header{display:flex;align-items:center;justify-content:space-between;padding:12px 16px;border-bottom:1px solid #e2e8f0;flex-shrink:0}.shop-settings-modal-title{margin:0;font-size:16px;font-weight:600;color:#1a202c}.shop-settings-modal-close{width:32px;height:32px;border:none;background:transparent;color:#718096;cursor:pointer;display:flex;align-items:center;justify-content:center;border-radius:8px;transition:all .2s;padding:0}.shop-settings-modal-close:hover{background:#f7fafc;color:#2d3748}.shop-settings-modal-body{padding:16px;flex:1;overflow-y:auto;display:flex;flex-direction:column;min-height:0}.settings-form-row{display:flex;gap:12px;margin-bottom:12px}.settings-form-row .settings-form-group{flex:1;margin-bottom:0}@media (max-width: 600px){.settings-form-row{flex-direction:column;gap:0}.settings-form-row .settings-form-group{margin-bottom:20px}}.settings-form-group{margin-bottom:12px;flex-shrink:0}.settings-form-group label{display:block;margin-bottom:6px;color:#1a202c;font-weight:500;font-size:13px}.settings-form-group select,.settings-form-group textarea{width:100%;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:6px;color:#1a202c;font-size:13px;font-family:inherit;transition:all .2s}.settings-form-group select:focus,.settings-form-group textarea:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.settings-form-group textarea{resize:vertical;min-height:80px;max-height:120px}.tags-container{display:flex;flex-wrap:wrap;gap:8px;padding:8px;background:#f7fafc;border-radius:6px;border:1px solid #e2e8f0;max-height:120px;overflow-y:auto}.tag-checkbox{display:flex;align-items:center;gap:4px;cursor:pointer;padding:4px 8px;background:#fff;border-radius:4px;border:1px solid #e2e8f0;transition:all .2s;color:#1a202c;font-size:12px}.tag-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer;margin-right:4px}.template-buttons{display:flex;flex-wrap:wrap;gap:6px;margin-bottom:8px}.template-btn{padding:4px 8px;background:#ebf8ff;border:1px solid #bee3f8;border-radius:4px;color:#667eea;font-size:11px;cursor:pointer;transition:all .2s;font-family:Courier New,monospace}.template-btn:hover{background:#bee3f8;border-color:#90cdf4;color:#5568d3}.settings-actions{display:flex;gap:8px;margin-top:12px;padding-top:12px;border-top:1px solid #e2e8f0;flex-shrink:0}.btn-secondary{padding:8px 16px;background:#edf2f7;border:1px solid #cbd5e0;border-radius:6px;color:#2d3748;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger{padding:8px 16px;background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;color:#c53030;font-size:13px;font-weight:500;cursor:pointer;transition:all .2s}.batch-message-tab{padding:8px 16px 16px;max-width:1200px;margin:0 auto}.batch-message-header{margin-top:0;margin-bottom:8px}.batch-message-header h2{font-size:16px;font-weight:600;color:#1a202c;margin:0 0 2px}.batch-message-description{color:#718096;font-size:11px;margin:0;line-height:1.3}.batch-message-form{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:12px;padding:16px;border:1px solid rgba(255,255,255,.2);box-shadow:0 4px 12px #0000001a}.form-group{margin-bottom:16px}.form-group label{display:block;margin-bottom:6px;color:#1a202c;font-weight:500;font-size:13px}.form-group input[type=datetime-local],.form-group select,.form-group textarea{width:100%;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1a202c;font-size:13px;font-family:inherit;transition:all .2s}.form-group input[type=datetime-local]:focus,.form-group select:focus,.form-group textarea:focus{outline:none;border-color:#667eea;background:#fff;box-shadow:0 0 0 3px #667eea1a}.form-group textarea{resize:vertical;min-height:120px}.form-group select{cursor:pointer}.form-group select:disabled{opacity:.5;cursor:not-allowed}.form-hint{margin-top:6px;font-size:12px;color:#718096}.form-row{display:grid;grid-template-columns:1fr 1fr;gap:12px}.template-buttons{display:flex;flex-wrap:wrap;gap:8px;margin-bottom:12px}.template-btn{padding:6px 12px;background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;color:#667eea;font-size:12px;cursor:pointer;transition:all .2s;font-family:Courier New,monospace}.template-btn:hover:not(:disabled){background:#bee3f8;border-color:#90cdf4;color:#5568d3}.template-btn:disabled{opacity:.5;cursor:not-allowed}.tags-container{display:flex;flex-wrap:wrap;gap:12px;padding:12px;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0;max-height:200px;overflow-y:auto}.tag-checkbox{display:flex;align-items:center;gap:6px;cursor:pointer;padding:6px 12px;background:#fff;border-radius:6px;border:1px solid #e2e8f0;transition:all .2s;color:#1a202c;font-size:13px}.tag-checkbox:hover{background:#edf2f7;border-color:#cbd5e0}.tag-checkbox input[type=checkbox]{width:16px;height:16px;cursor:pointer}.tag-checkbox input[type=checkbox]:checked+span{color:#667eea;font-weight:500}.progress-info{margin:20px 0;padding:16px;background:#ebf8ff;border-radius:8px;border:1px solid #bee3f8}.progress-info p{margin:4px 0;color:#2d3748;font-size:14px}.send-progress-container{margin-top:16px;margin-bottom:16px;padding:16px;background:linear-gradient(135deg,#f5f7fa,#c3cfe2);border-radius:12px;border:1px solid #e2e8f0;box-shadow:0 2px 8px #00000014}.send-progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.send-progress-header h4{margin:0;font-size:14px;font-weight:600;color:#1a202c}.send-progress-step{font-size:12px;font-weight:600;color:#667eea;background:#fff;padding:4px 10px;border-radius:12px}.send-progress-bar{width:100%;height:8px;background:#ffffff80;border-radius:4px;overflow:hidden;margin-bottom:12px}.send-progress-bar-fill{height:100%;background:linear-gradient(90deg,#667eea,#764ba2);border-radius:4px;transition:width .4s ease;box-shadow:0 2px 4px #667eea4d}.send-progress-message{display:flex;align-items:center;gap:10px}.progress-step-item{display:flex;align-items:center;gap:10px;font-size:13px;color:#2d3748}.progress-step-icon{width:24px;height:24px;border-radius:50%;display:flex;align-items:center;justify-content:center;flex-shrink:0}.progress-step-icon.checking{background:#667eea;color:#fff;animation:pulse 2s ease-in-out infinite}.progress-step-icon.checking svg{animation:spin 1s linear infinite}@keyframes pulse{0%,to{opacity:1;transform:scale(1)}50%{opacity:.8;transform:scale(1.05)}}@keyframes spin{0%{transform:rotate(0)}to{transform:rotate(360deg)}}.form-actions{margin-top:16px;display:flex;justify-content:space-between;align-items:center;gap:12px}.form-actions-left{display:flex;gap:12px;align-items:center}.btn-primary{padding:10px 20px;background:#667eea;border:none;border-radius:8px;color:#fff;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s;box-shadow:0 2px 8px #667eea4d}.btn-primary:hover:not(:disabled){background:#5568d3;transform:translateY(-1px);box-shadow:0 4px 12px #667eea66}.btn-primary:disabled{opacity:.5;cursor:not-allowed}.btn-secondary{padding:12px 24px;background:#edf2f7;border:1px solid #cbd5e0;border-radius:8px;color:#2d3748;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-secondary:hover:not(:disabled){background:#e2e8f0;border-color:#a0aec0}.btn-secondary:disabled{opacity:.5;cursor:not-allowed}.btn-danger{padding:12px 24px;background:#fff5f5;border:1px solid #feb2b2;border-radius:8px;color:#c53030;font-size:14px;font-weight:500;cursor:pointer;transition:all .2s}.btn-danger:hover{background:#fed7d7;border-color:#fc8181}.shop-select-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.shop-select-header-actions{display:flex;align-items:center;gap:12px}.selected-count{font-size:12px;color:#667eea;font-weight:500}.btn-batch-message{display:flex;align-items:center;gap:6px;padding:6px 12px;background:#667eea;color:#fff;border:none;border-radius:6px;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-batch-message:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 2px 4px #667eea4d}.btn-batch-message:active{transform:translateY(0)}.btn-batch-message svg{flex-shrink:0}.shop-search-container{display:flex;gap:8px;margin-bottom:12px}.shop-search-input{flex:1;padding:8px 10px;background:#fff;border:1px solid #e2e8f0;border-radius:8px;color:#1a202c;font-size:13px;font-family:inherit;transition:all .2s}.shop-search-input:focus{outline:none;border-color:#667eea;box-shadow:0 0 0 3px #667eea1a}.select-all-btn{padding:8px 12px;background:#edf2f7;border:1px solid #cbd5e0;border-radius:8px;color:#2d3748;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s;white-space:nowrap}.select-all-btn:hover{background:#e2e8f0;border-color:#a0aec0}.shops-grid{display:grid;grid-template-columns:repeat(auto-fill,minmax(260px,1fr));gap:8px;max-height:280px;overflow-y:auto;padding:4px;margin-bottom:12px}.shop-card{display:flex;align-items:flex-start;gap:8px;padding:10px 12px;background:#fff;border:2px solid #e2e8f0;border-radius:8px;cursor:pointer;transition:all .2s;position:relative}.shop-card:hover{border-color:#cbd5e0;box-shadow:0 2px 8px #0000001a}.shop-card.selected{border-color:#667eea;background:#f0f4ff;box-shadow:0 0 0 3px #667eea1a}.shop-card-checkbox{flex-shrink:0;margin-top:2px}.shop-card-checkbox input[type=checkbox]{width:20px;height:20px;cursor:pointer;accent-color:#667eea}.shop-card-content{flex:1;min-width:0}.shop-card-name{font-size:13px;font-weight:600;color:#1a202c;margin-bottom:3px;display:flex;align-items:center;gap:6px;min-width:0}.shop-card-name>span:first-child{white-space:nowrap;overflow:hidden;text-overflow:ellipsis;flex:1;min-width:0}.settings-badge{display:inline-flex;align-items:center;justify-content:center;width:20px;height:20px;background:#48bb78;border-radius:50%;color:#fff;flex-shrink:0}.settings-badge svg{width:12px;height:12px}.shop-card-id{font-size:11px;color:#718096;margin-bottom:4px}.shop-card-tag{margin-top:8px}.tag-badge{display:inline-block;padding:4px 8px;background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;font-size:11px;color:#2c5282;font-weight:500}.shop-card-tags{margin-top:8px}.shop-card-tags-loading{margin-top:8px;font-size:11px;color:#718096;font-style:italic}.tags-count{display:inline-block;padding:4px 8px;background:#f0f4ff;border:1px solid #cbd5e0;border-radius:6px;font-size:11px;color:#667eea;font-weight:500}.shop-settings-btn{flex-shrink:0;padding:6px 10px;background:#667eea;border:none;border-radius:6px;color:#fff;cursor:pointer;display:flex;align-items:center;gap:4px;transition:all .2s;font-size:12px;font-weight:500;white-space:nowrap}.shop-settings-btn:hover{background:#5568d3;transform:translateY(-1px);box-shadow:0 2px 8px #667eea4d}.shop-settings-btn svg{width:14px;height:14px}.progress-container{margin:16px 0;padding:12px;background:#f7fafc;border-radius:8px;border:1px solid #e2e8f0}.progress-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:10px}.progress-title{margin:0;font-size:15px;font-weight:600;color:#1a202c}.btn-cancel{padding:6px 12px;background:#fff5f5;border:1px solid #feb2b2;border-radius:6px;color:#c53030;font-size:12px;font-weight:500;cursor:pointer;transition:all .2s}.btn-cancel:hover{background:#fed7d7;border-color:#fc8181}.progress-status-badge{margin-bottom:10px}.progress-status-badge .status-processing{display:inline-block;padding:6px 12px;background:#ebf8ff;border:1px solid #bee3f8;border-radius:6px;color:#2c5282;font-size:13px;font-weight:500}.progress-status-badge .status-completed{display:inline-block;padding:6px 12px;background:#c6f6d5;border:1px solid #9ae6b4;border-radius:6px;color:#22543d;font-size:13px;font-weight:500}.progress-status-badge .status-cancelled,.progress-status-badge .status-error{display:inline-block;padding:6px 12px;background:#fed7d7;border:1px solid #fc8181;border-radius:6px;color:#742a2a;font-size:13px;font-weight:500}.progress-status.processing{background:#ebf8ff;color:#2c5282}.progress-item{padding:10px 12px;background:#fff;border-radius:6px;border:1px solid #e2e8f0;margin-bottom:8px;transition:all .2s}.progress-item.clickable{cursor:pointer}.progress-item.clickable:hover{background:#f7fafc;border-color:#cbd5e0;transform:translateY(-1px);box-shadow:0 2px 4px #0000001a}.progress-item.success{border-left:4px solid #48bb78}.progress-item.error{border-left:4px solid #f56565}.progress-item-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:6px}.progress-shop-name{font-weight:600;color:#1a202c;font-size:13px}.progress-status{font-size:12px;font-weight:500;padding:3px 6px;border-radius:4px}.progress-status.success{background:#c6f6d5;color:#22543d}.progress-status.error{background:#fed7d7;color:#742a2a}.progress-item-details{display:flex;gap:12px;font-size:12px;color:#4a5568}.text-success{color:#22543d;font-weight:500}.text-error{color:#742a2a;font-weight:500}.progress-item-error{margin-top:8px;padding:8px;background:#fed7d7;border-radius:6px;color:#742a2a;font-size:12px}.settings-section{margin:24px 0;padding:20px;background:#fff5f5;border:1px solid #feb2b2;border-radius:12px}.settings-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:16px}.settings-header h4{margin:0;font-size:16px;font-weight:600;color:#1a202c}.close-settings-btn{width:28px;height:28px;padding:0;background:transparent;border:none;border-radius:6px;color:#718096;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.close-settings-btn:hover{background:#edf2f7;color:#2d3748}.settings-actions{display:flex;gap:12px}.details-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;width:100vw;height:100vh;background:#00000080;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;justify-content:center;z-index:10005;animation:fadeIn .2s ease-out;margin:0;padding:0}.details-modal-container{position:fixed;top:50%;left:50%;transform:translate(-50%,-50%);background:#fff;border-radius:12px;box-shadow:0 20px 60px #0000004d;width:90%;max-width:800px;max-height:80vh;display:flex;flex-direction:column;overflow:hidden}.details-modal-header{display:flex;justify-content:space-between;align-items:center;padding:16px 20px;border-bottom:1px solid #e2e8f0}.details-modal-header h3{margin:0;font-size:18px;font-weight:600;color:#1a202c}.details-modal-close{width:32px;height:32px;padding:0;background:transparent;border:none;border-radius:6px;color:#718096;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .2s}.details-modal-close:hover{background:#edf2f7;color:#2d3748}.details-modal-body{padding:20px;overflow-y:auto;flex:1;background:#f7fafc}.details-summary{margin-bottom:20px;padding:16px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;box-shadow:0 1px 3px #0000000d}.details-summary h4{margin:0 0 12px;font-size:16px;font-weight:600;color:#1a202c}.details-stats{display:flex;gap:12px;font-size:13px;color:#4a5568;flex-wrap:wrap}.details-stats span{padding:6px 12px;background:#f7fafc;border-radius:6px;border:1px solid #e2e8f0;font-weight:500}.details-stats .text-success{background:#f0fff4;border-color:#9ae6b4;color:#22543d}.details-stats .text-error{background:#fff5f5;border-color:#fc8181;color:#742a2a}.details-list{display:flex;flex-direction:column;gap:12px}.batch-detail-item{padding:14px 16px;background:#fff;border-radius:8px;border:1px solid #e2e8f0;border-left:4px solid #e2e8f0;transition:all .2s}.batch-detail-item:hover{box-shadow:0 2px 8px #00000014;transform:translateY(-1px)}.batch-detail-item.success{border-left-color:#48bb78}.batch-detail-item.fail{border-left-color:#f56565}.batch-detail-item-header{display:flex;justify-content:space-between;align-items:flex-start;margin-bottom:12px;gap:16px}.batch-detail-customer-info{display:flex;flex-direction:column;gap:6px;flex:1}.batch-detail-customer-name{font-weight:600;color:#1a202c;font-size:14px}.batch-detail-time{font-size:12px;color:#718096;font-weight:400}.batch-detail-status{font-size:12px;font-weight:500;padding:3px 8px;border-radius:4px}.batch-detail-status.success{background:#c6f6d5;color:#22543d}.batch-detail-status.fail{background:#fed7d7;color:#742a2a}.batch-detail-message,.batch-detail-error{margin-top:12px;padding:12px 14px;border-radius:6px;font-size:13px}.batch-detail-message{background:#ebf8ff;border:1px solid #bee3f8}.batch-detail-error{background:#fff5f5;border:1px solid #fed7d7}.batch-detail-message strong,.batch-detail-error strong{display:block;margin-bottom:8px;color:#2d3748;font-size:12px;font-weight:600}.batch-detail-message p,.batch-detail-error p{margin:0;color:#4a5568;line-height:1.6;word-break:break-word;white-space:pre-wrap}.details-loading,.details-empty{text-align:center;padding:40px 20px;color:#718096;font-size:14px}@media (max-width: 768px){.form-row{grid-template-columns:1fr}.batch-message-tab,.batch-message-form{padding:16px}.shops-grid{grid-template-columns:1fr}.shop-search-container{flex-direction:column}.select-all-btn{width:100%}.details-modal-container{width:95%;max-height:90vh}.details-stats{flex-direction:column;gap:8px}}.dashboard-container{width:100%;min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:0;position:relative}.mobile-menu-btn{display:none;position:fixed;top:16px;left:16px;z-index:1001;background:#fff;border:none;border-radius:12px;width:48px;height:48px;cursor:pointer;box-shadow:0 4px 12px #00000026;align-items:center;justify-content:center;transition:all .2s}.mobile-menu-btn:hover{transform:scale(1.05);box-shadow:0 6px 20px #0003}.mobile-overlay{display:none;position:fixed;top:0;left:0;right:0;bottom:0;background:#00000080;z-index:999}.dashboard-wrapper{display:flex;min-height:100vh}.dashboard-sidebar{width:280px;background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-right:1px solid rgba(255,255,255,.2);display:flex;flex-direction:column;position:fixed;height:100vh;left:0;top:0;z-index:100}.sidebar-header{padding:24px;border-bottom:1px solid #e2e8f0;display:flex;align-items:center;gap:12px}.user-avatar-small{width:48px;height:48px;border-radius:50%;overflow:hidden;border:2px solid #667eea;flex-shrink:0}.user-avatar-small img{width:100%;height:100%;object-fit:cover}.user-info-small{flex:1;min-width:0}.user-name-small{font-size:15px;font-weight:600;color:#1a202c;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.user-email-small{font-size:13px;color:#718096;white-space:nowrap;overflow:hidden;text-overflow:ellipsis}.time-remaining-sidebar{margin:16px 24px;padding:12px 16px;background:linear-gradient(135deg,#667eea,#764ba2);border-radius:12px;color:#fff;display:flex;align-items:center;gap:8px;font-size:14px;font-weight:600}.sidebar-nav{flex:1;padding:16px;display:flex;flex-direction:column;gap:8px}.nav-item{padding:12px 16px;border:none;background:transparent;border-radius:12px;font-size:15px;font-weight:500;color:#718096;cursor:pointer;display:flex;align-items:center;gap:12px;transition:all .2s;text-align:left}.nav-item:hover{background:#f7fafc;color:#2d3748}.nav-item.active{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;box-shadow:0 4px 12px #667eea4d}.sidebar-footer{padding:16px;border-top:1px solid #e2e8f0;display:flex;flex-direction:column;gap:8px}.version-btn-sidebar{width:100%;padding:10px 16px;border:none;background:#e6f0ff;color:#667eea;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s;position:relative}.version-btn-sidebar:hover{background:#d0e0ff;transform:translateY(-1px);box-shadow:0 2px 8px #667eea33}.version-new-badge{position:absolute;top:-6px;right:-6px;background:linear-gradient(135deg,#f56565,#e53e3e);color:#fff;font-size:10px;font-weight:700;padding:3px 8px;border-radius:12px;box-shadow:0 2px 8px #e53e3e66;animation:pulse 2s infinite;text-transform:uppercase;letter-spacing:.5px;white-space:nowrap;z-index:1}@keyframes pulse{0%,to{transform:scale(1);box-shadow:0 2px 8px #e53e3e66}50%{transform:scale(1.05);box-shadow:0 4px 12px #e53e3e99}}.logout-btn-sidebar{width:100%;padding:12px 16px;border:none;background:#fed7d7;color:#c53030;border-radius:12px;font-size:15px;font-weight:600;cursor:pointer;display:flex;align-items:center;justify-content:center;gap:8px;transition:all .2s}.logout-btn-sidebar:hover{background:#feb2b2;transform:translateY(-1px)}.dashboard-main{flex:1;margin-left:280px;padding:32px;min-height:100vh}.warning-banner{background:linear-gradient(135deg,#ed8936,#dd6b20);border-radius:16px;padding:20px 24px;margin-bottom:32px;display:flex;align-items:center;gap:16px;color:#fff;box-shadow:0 4px 12px #ed89364d;animation:slideDown .5s ease-out}.warning-banner-icon{font-size:32px;line-height:1;flex-shrink:0}.warning-banner-content{flex:1;min-width:0}.warning-banner-content h3{margin:0 0 4px;font-size:18px;font-weight:600}.warning-banner-content p{margin:0;font-size:14px;opacity:.95}.warning-banner-btn{padding:10px 20px;background:#fff;color:#ed8936;border:none;border-radius:12px;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s;flex-shrink:0;box-shadow:0 2px 8px #00000026}.warning-banner-btn:hover{transform:translateY(-2px);box-shadow:0 4px 12px #0003}.dashboard-content{background:#fffffff2;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px);border-radius:20px;padding:32px;box-shadow:0 20px 60px #0003;min-height:calc(100vh - 200px)}@media (max-width: 1024px){.dashboard-sidebar{width:240px}.dashboard-main{margin-left:240px;padding:24px}}@media (max-width: 768px){.mobile-menu-btn{display:flex}.mobile-overlay{display:block}.dashboard-sidebar{width:280px;max-width:85vw;position:fixed;height:100vh;overflow-y:auto;border-right:none;box-shadow:2px 0 8px #0000001a;transform:translate(-100%);transition:transform .3s ease;z-index:1000}.dashboard-sidebar.mobile-open{transform:translate(0)}.dashboard-main{margin-left:0;padding:80px 16px 16px}.dashboard-content{padding:20px}.sidebar-nav{flex-direction:column}.warning-banner{flex-direction:column;text-align:center;padding:16px}.warning-banner-icon{font-size:24px}.warning-banner-btn{width:100%;justify-content:center}}@media (max-width: 480px){.dashboard-main{padding:12px}.dashboard-content{padding:16px;border-radius:16px}.sidebar-header{padding:16px}.user-avatar-small{width:40px;height:40px}.user-name-small{font-size:14px}.user-email-small{font-size:12px}.time-remaining-sidebar{margin:12px 16px;padding:10px 12px;font-size:12px}.sidebar-nav{padding:12px}.nav-item{padding:10px 12px;font-size:14px}.sidebar-footer{padding:12px}.logout-btn-sidebar{padding:10px 12px;font-size:14px}}.expired-screen{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#667eea,#764ba2);padding:20px}.expired-container{background:#fffffff2;border-radius:20px;padding:60px 40px;max-width:500px;width:100%;text-align:center;box-shadow:0 20px 60px #0000004d;-webkit-backdrop-filter:blur(10px);backdrop-filter:blur(10px)}.expired-icon{color:#e74c3c;margin-bottom:30px;display:flex;justify-content:center;animation:pulse 2s ease-in-out infinite}@keyframes pulse{0%,to{transform:scale(1);opacity:1}50%{transform:scale(1.1);opacity:.8}}.expired-title{font-size:28px;font-weight:700;color:#2c3e50;margin-bottom:20px;line-height:1.3}.expired-message{font-size:16px;color:#7f8c8d;line-height:1.6;margin-bottom:30px}.expired-date{display:flex;flex-direction:column;gap:8px;margin-bottom:30px;padding:15px;background:#f8f9fa;border-radius:10px;border-left:4px solid #e74c3c}.expired-date-label{font-size:14px;color:#7f8c8d;font-weight:500}.expired-date-value{font-size:16px;color:#2c3e50;font-weight:600}.expired-logout-btn{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:14px 32px;font-size:16px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #667eea66}.expired-logout-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #667eea99}.expired-logout-btn:active{transform:translateY(0)}.expired-actions{display:flex;flex-direction:column;gap:12px;width:100%}.expired-purchase-btn{background:linear-gradient(135deg,#27ae60,#2ecc71);color:#fff;border:none;padding:14px 32px;font-size:16px;font-weight:600;border-radius:10px;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 15px #27ae6066;width:100%}.expired-purchase-btn:hover:not(:disabled){transform:translateY(-2px);box-shadow:0 6px 20px #27ae6099}.expired-purchase-btn:active:not(:disabled){transform:translateY(0)}.expired-purchase-btn:disabled{opacity:.6;cursor:not-allowed}.expired-packages{width:100%}.expired-packages-title{font-size:20px;font-weight:600;color:#2c3e50;margin-bottom:20px}.expired-packages-list{display:flex;flex-direction:column;gap:12px;margin-bottom:20px}.expired-package-btn{background:#fff;border:2px solid #e0e0e0;border-radius:10px;padding:16px 20px;cursor:pointer;transition:all .3s ease;text-align:left;width:100%;position:relative}.expired-package-btn:hover:not(:disabled){border-color:#667eea;box-shadow:0 4px 12px #667eea33;transform:translateY(-2px)}.expired-package-btn:disabled{opacity:.6;cursor:not-allowed}.expired-package-name{font-size:16px;font-weight:600;color:#2c3e50;margin-bottom:6px}.expired-package-price{font-size:18px;font-weight:700;color:#27ae60}.expired-package-loading{position:absolute;top:50%;right:20px;transform:translateY(-50%);font-size:14px;color:#667eea}.expired-loading,.expired-no-packages{padding:20px;color:#7f8c8d;font-size:14px}.expired-back-btn{background:#95a5a6;color:#fff;border:none;padding:12px 24px;font-size:14px;font-weight:600;border-radius:8px;cursor:pointer;transition:all .3s ease;width:100%}.expired-back-btn:hover:not(:disabled){background:#7f8c8d;transform:translateY(-1px)}.expired-back-btn:disabled{opacity:.6;cursor:not-allowed}@media (max-width: 768px){.expired-container{padding:40px 30px}.expired-title{font-size:24px}.expired-message{font-size:14px}.expired-packages-title{font-size:18px}}.payment-page{min-height:100vh;display:flex;align-items:center;justify-content:center;background:linear-gradient(180deg,#a78bfa,#667eea,#764ba2);padding:20px;position:relative;overflow:hidden}.payment-page:before{content:"";position:absolute;top:0;left:0;right:0;bottom:0;background:radial-gradient(circle at 20% 30%,rgba(255,255,255,.15) 0%,transparent 40%),radial-gradient(circle at 80% 70%,rgba(255,255,255,.1) 0%,transparent 40%);pointer-events:none;animation:float 20s ease-in-out infinite}@keyframes float{0%,to{transform:translateY(0) scale(1)}50%{transform:translateY(-20px) scale(1.05)}}@keyframes gradientShift{0%{background-position:0% 50%}50%{background-position:100% 50%}to{background-position:0% 50%}}.payment-container{max-width:500px;width:100%;position:relative;z-index:1}.payment-success,.payment-error,.payment-cancel{background:#fffffffa;backdrop-filter:blur(30px);-webkit-backdrop-filter:blur(30px);border-radius:24px;padding:48px 40px;text-align:center;box-shadow:0 25px 70px #667eea4d,0 0 0 1px #ffffff80 inset,0 0 100px #a78bfa1a;animation:fadeInUp .6s ease-out;border:1px solid rgba(255,255,255,.4);position:relative;overflow:hidden}.payment-success:before{content:"";position:absolute;top:0;left:0;right:0;height:3px;background:linear-gradient(90deg,#a78bfa,#667eea,#764ba2);opacity:.6}@keyframes fadeInUp{0%{opacity:0;transform:translateY(20px)}to{opacity:1;transform:translateY(0)}}.success-animation{position:relative;width:120px;height:120px;margin:0 auto 32px}.success-icon-wrapper{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#48bb78,#38a169);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #48bb784d;animation:scaleIn .5s ease-out}@keyframes scaleIn{0%{transform:scale(0);opacity:0}to{transform:scale(1);opacity:1}}.success-icon{width:60px;height:60px;color:#fff;stroke-dasharray:100;stroke-dashoffset:100;animation:drawCheck .6s ease-out .3s forwards}@keyframes drawCheck{to{stroke-dashoffset:0}}.success-checkmark{position:absolute;top:0;left:0;width:100%;height:100%;pointer-events:none}.checkmark-circle{position:absolute;top:50%;left:50%;transform:translate(-50%,-50%);width:140px;height:140px;border:2px solid #48bb78;border-radius:50%;opacity:0;animation:ripple 1.5s ease-out .5s infinite}@keyframes ripple{0%{transform:translate(-50%,-50%) scale(.8);opacity:.6}to{transform:translate(-50%,-50%) scale(1.2);opacity:0}}.success-title{font-size:32px;font-weight:700;color:#1a202c;margin:0 0 12px;background:linear-gradient(135deg,#667eea,#764ba2);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.success-message{font-size:16px;color:#718096;margin:0 0 40px;line-height:1.6}.payment-loading{background:#fff;border-radius:16px;padding:60px 40px;text-align:center;box-shadow:0 20px 60px #0000004d}.payment-icon{width:80px;height:80px;border-radius:50%;display:flex;align-items:center;justify-content:center;font-size:40px;margin:0 auto 24px}.payment-icon.success{background:#d4edda;color:#155724}.payment-icon.error{background:#f8d7da;color:#721c24}.payment-icon.cancel{background:#fff3cd;color:#856404}.payment-success h1,.payment-error h1,.payment-cancel h1{font-size:28px;font-weight:700;color:#1a202c;margin:0 0 12px}.payment-success p,.payment-error p,.payment-cancel p{font-size:16px;color:#718096;margin:0 0 32px}.payment-details-card{background:linear-gradient(135deg,#f7fafc,#edf2f7);border-radius:16px;padding:0;margin:32px 0;overflow:hidden;border:1px solid #e2e8f0;box-shadow:0 4px 12px #0000000d}.details-header{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:16px 24px;display:flex;align-items:center;gap:10px;font-weight:600;font-size:15px}.details-header svg{width:20px;height:20px}.payment-details{padding:24px;text-align:left}.detail-item{display:flex;justify-content:space-between;align-items:center;padding:16px 0;border-bottom:1px solid #e2e8f0;transition:all .2s ease}.detail-item:last-child{border-bottom:none}.detail-item.highlight{background:#667eea0d;margin:0 -24px;padding:16px 24px;border-left:4px solid #667eea}.detail-left{display:flex;align-items:center;gap:12px}.detail-icon{font-size:20px;width:32px;height:32px;display:flex;align-items:center;justify-content:center;background:#667eea1a;border-radius:8px}.detail-label{font-size:14px;color:#718096;font-weight:500}.detail-value{font-size:15px;color:#2d3748;font-weight:600;text-align:right}.detail-value.invoice-number{font-family:Courier New,monospace;color:#667eea;font-weight:700}.detail-value.amount{font-size:18px;color:#27ae60;font-weight:700}.detail-value.package-name{color:#667eea;font-weight:600}.status-badge{display:inline-flex;align-items:center;gap:8px;background:#c6f6d5;color:#22543d;padding:6px 14px;border-radius:20px;font-size:13px;font-weight:600}.status-dot{width:8px;height:8px;background:#22543d;border-radius:50%;animation:pulseDot 2s ease-in-out infinite}@keyframes pulseDot{0%,to{opacity:1;transform:scale(1)}50%{opacity:.7;transform:scale(1.2)}}.success-actions{margin-top:32px}.cancel-animation{position:relative;width:120px;height:120px;margin:0 auto 32px}.cancel-icon-wrapper{width:100%;height:100%;border-radius:50%;background:linear-gradient(135deg,#f56565,#e53e3e);display:flex;align-items:center;justify-content:center;box-shadow:0 8px 24px #f565654d;animation:scaleIn .5s ease-out}.cancel-icon{width:60px;height:60px;color:#fff;stroke-dasharray:100;stroke-dashoffset:100;animation:drawCancel .6s ease-out .3s forwards}@keyframes drawCancel{to{stroke-dashoffset:0}}.cancel-title{font-size:32px;font-weight:700;color:#1a202c;margin:0 0 12px;background:linear-gradient(135deg,#f56565,#e53e3e);-webkit-background-clip:text;-webkit-text-fill-color:transparent;background-clip:text}.cancel-message{font-size:16px;color:#718096;margin:0 0 40px;line-height:1.6}.cancel-badge{background:#fed7d7!important;color:#742a2a!important}.cancel-dot{background:#742a2a!important}.cancel-order-info{background:#fff5f5;border:1px solid #fed7d7;border-radius:12px;padding:16px;margin:24px 0}.order-id-text{font-size:14px;color:#718096;margin:0}.order-id-value{font-family:Courier New,monospace;color:#f56565;font-weight:700}.cancel-actions{margin-top:32px}.order-id{font-size:14px;color:#718096;font-family:monospace;margin-top:8px}.btn-primary{background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;border:none;padding:16px 32px;border-radius:12px;font-size:16px;font-weight:600;cursor:pointer;transition:all .3s ease;width:100%;display:flex;align-items:center;justify-content:center;gap:10px;box-shadow:0 4px 15px #667eea4d}.btn-primary:hover{transform:translateY(-2px);box-shadow:0 8px 25px #667eea66}.btn-primary:active{transform:translateY(0)}.btn-primary svg{width:20px;height:20px}.spinner{width:48px;height:48px;border:4px solid #e2e8f0;border-top-color:#667eea;border-radius:50%;animation:spin 1s linear infinite;margin:0 auto 24px}@keyframes spin{to{transform:rotate(360deg)}}.payment-loading p{color:#718096;font-size:16px}@media (max-width: 768px){.payment-success,.payment-error,.payment-cancel{padding:32px 24px}.success-title{font-size:24px}.success-message{font-size:14px}.payment-details{padding:20px}.details-header{padding:14px 20px;font-size:14px}.detail-item{padding:12px 0;flex-direction:column;align-items:flex-start;gap:8px}.detail-value{text-align:left;width:100%}.detail-item.highlight{margin:0 -20px;padding:12px 20px}}.version-page{min-height:100vh;background:linear-gradient(135deg,#667eea,#764ba2);padding:0;width:100%}.version-page-container{width:100%;max-width:100%;margin:0;background:#fff;border-radius:0;box-shadow:none;overflow:hidden;min-height:100vh}.version-page-header{background:linear-gradient(135deg,#667eea,#764ba2);padding:24px 32px;color:#fff;display:flex;align-items:center;gap:16px}.version-page-back{background:#fff3;border:none;border-radius:8px;padding:8px 16px;color:#fff;font-size:14px;font-weight:600;cursor:pointer;display:flex;align-items:center;gap:8px;transition:all .2s}.version-page-back:hover{background:#ffffff4d;transform:translate(-2px)}.version-page-header h1{margin:0;font-size:28px;font-weight:600;flex:1}.version-page-content{padding:16px}.version-current{text-align:center;padding:24px 0;border-bottom:2px solid #e2e8f0;margin-bottom:32px}.version-badge{display:inline-block;background:linear-gradient(135deg,#667eea,#764ba2);color:#fff;padding:10px 20px;border-radius:8px;font-size:24px;font-weight:700;margin-bottom:8px;box-shadow:0 4px 12px #667eea4d}.version-date{color:#718096;font-size:14px;margin:0}.changelog-section h3{font-size:24px;font-weight:600;color:#1a202c;margin-bottom:24px}.changelog-list{display:flex;flex-direction:column;gap:24px}.changelog-item{background:#f7fafc;border-radius:12px;padding:20px;border-left:4px solid #667eea;transition:all .2s}.changelog-item:hover{box-shadow:0 4px 12px #0000001a;transform:translateY(-2px)}.changelog-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:16px}.changelog-version{font-size:18px;font-weight:600;color:#667eea}.changelog-date{font-size:14px;color:#718096}.changelog-changes{margin:0;padding-left:20px;list-style:none}.changelog-changes li{position:relative;padding-left:24px;margin-bottom:10px;color:#4a5568;line-height:1.8;font-size:15px}.changelog-changes li:before{content:"•";position:absolute;left:0;color:#667eea;font-weight:700;font-size:20px}.changelog-changes li:last-child{margin-bottom:0}@media (max-width: 768px){.version-page{padding:0}.version-page-header{padding:20px;flex-direction:column;align-items:flex-start;gap:12px}.version-page-header h1{font-size:24px}.version-page-content{padding:24px 20px}.version-badge{font-size:28px;padding:12px 24px}.changelog-section h3{font-size:20px}.changelog-item{padding:16px}}.App{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center}*{margin:0;padding:0;box-sizing:border-box}body{font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,Oxygen,Ubuntu,Cantarell,Fira Sans,Droid Sans,Helvetica Neue,sans-serif;-webkit-font-smoothing:antialiased;-moz-osx-font-smoothing:grayscale;background:linear-gradient(135deg,#667eea,#764ba2);min-height:100vh;display:flex;align-items:center;justify-content:center}#root{width:100%;min-height:100vh;display:flex;align-items:center;justify-content:center}
