*{box-sizing:border-box;margin:0;padding:0}.app{min-height:100vh;background:#f7fff7;display:flex;flex-direction:column;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif}.app-header{display:flex;align-items:center;justify-content:space-between;padding:1.25rem 1rem;color:#1a535c;background:#fff;box-shadow:0 2px 8px #1a535c14;border-bottom:3px solid #4ECDC4}.app-header h1{font-size:1.6rem;font-weight:700;margin-bottom:0;color:#1a535c}.app-header p{font-size:.95rem;opacity:.85;margin-left:8px;color:#1a535c}.header-with-actions{padding-right:1.5rem}.header-left,.header-right{display:flex;align-items:center;gap:12px}.user-email{font-size:.95rem;opacity:.85;color:#1a535c;font-weight:500}.admin-btn{background:#4ecdc4;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px #4ecdc44d}.admin-btn:hover{background:#45b8b0;transform:translateY(-2px);box-shadow:0 4px 12px #4ecdc466}.auth-btn{background:#ff6b6b;color:#fff;border:none;padding:10px 20px;border-radius:8px;cursor:pointer;font-weight:600;transition:all .2s ease;box-shadow:0 2px 8px #ff6b6b4d}.auth-btn:hover{background:#ff5252;transform:translateY(-2px);box-shadow:0 4px 12px #ff6b6b66}.api-keys-btn{display:inline-flex;align-items:center;gap:6px;background:#1a535c;color:#fff;border:none;padding:10px 16px;border-radius:8px;cursor:pointer;font-weight:600;font-size:.9rem;transition:all .2s ease;box-shadow:0 2px 8px #1a535c4d}.api-keys-btn:hover{background:#15444b;transform:translateY(-2px);box-shadow:0 4px 12px #1a535c66}.api-keys-btn svg{stroke:currentColor}.app-nav{display:flex;justify-content:center;margin:0 auto;max-width:600px;background:#fff;border-radius:12px 12px 0 0;box-shadow:0 -2px 8px #1a535c0d}.nav-tab{background:none;border:none;padding:1rem 2rem;color:#1a535c;font-size:1rem;font-weight:500;cursor:pointer;transition:all .3s ease;border-bottom:3px solid transparent;opacity:.6;position:relative}.nav-tab:hover{opacity:.9;background:#4ecdc414}.nav-tab.active{border-bottom-color:#4ecdc4;opacity:1;font-weight:700;color:#1a535c;background:#4ecdc41f}.app-main{flex:1;padding:0 1rem 2rem;display:flex;justify-content:center;align-items:flex-start;margin-top:1rem}.auth-page-wrapper{display:flex;flex-direction:column;align-items:center;width:100%}.auth-header-row{width:100%;max-width:980px;display:flex;justify-content:flex-start;padding:12px 0}.back-btn{background:#4ecdc4;border:none;color:#fff;font-weight:600;cursor:pointer;padding:8px 16px;border-radius:8px;transition:all .2s ease}.back-btn:hover{background:#45b8b0;transform:translateY(-2px)}.app-footer{text-align:center;padding:1rem;color:#1a535c;opacity:.6;font-size:.9rem;background:#fff;border-top:2px solid rgba(78,205,196,.2)}@media (max-width: 768px){.app-header h1{font-size:2rem}.app-header p{font-size:1rem}.nav-tab{padding:.75rem 1rem;font-size:.9rem}.app-main{padding:0 .5rem 1.25rem}}@media (max-width: 480px){.app-header{padding:.75rem}.header-left img{height:48px}.app-nav{border-radius:10px 10px 0 0}.nav-tab{padding:.6rem .75rem;font-size:.85rem}}.pre-footer-buttons{display:flex;gap:12px;align-items:center;justify-content:center;flex-wrap:wrap;pointer-events:auto}.get-pro-btn{background:#4ecdc4;color:#fff;border:none;padding:10px 18px;border-radius:999px;cursor:pointer;font-weight:800;letter-spacing:.2px;transition:all .2s ease;box-shadow:0 2px 10px #4ecdc44d;min-height:44px;pointer-events:auto}.get-pro-btn:hover{background:#45b8b0;transform:translateY(-2px)}.dev-btn{background:transparent;color:#1a535c;border:2px solid rgba(26,83,92,.2);padding:10px 18px;border-radius:999px;cursor:pointer;font-weight:600;font-size:.9rem;letter-spacing:.2px;transition:all .2s ease;min-height:44px;pointer-events:auto;display:flex;align-items:center;gap:6px}.dev-btn:hover{border-color:#4ecdc4;color:#4ecdc4;background:#4ecdc40d;transform:translateY(-2px)}.dev-btn svg{flex-shrink:0}.url-shortener{width:100%;max-width:1200px;margin:0 auto;padding:2.5rem;background:#fff;border-radius:20px;box-shadow:0 8px 32px #1a535c1f;border:2px solid rgba(78,205,196,.2)}@media (max-width: 1250px){.url-shortener{max-width:600px}}@media (max-width: 640px){.url-shortener{max-width:100%;margin:0 .5rem}}.url-form{margin-bottom:2rem}.input-group{display:flex;gap:.5rem;margin-bottom:1rem}.url-input{flex:1;padding:1.2rem 1.5rem;border:2px solid rgba(78,205,196,.3);border-radius:12px;font-size:1rem;transition:all .3s ease;background:#f7fff7;color:#1a535c}.url-input::placeholder{color:#1a535c80}.url-input:focus{outline:none;border-color:#4ecdc4;box-shadow:0 0 0 4px #4ecdc426;background:#fff}.url-input:disabled{opacity:.6;cursor:not-allowed}.shorten-btn{padding:1.2rem 2.5rem;background:#ff6b6b;color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;min-width:140px;box-shadow:0 4px 16px #ff6b6b4d}.shorten-btn:hover:not(:disabled){background:#ff5252;transform:translateY(-2px);box-shadow:0 8px 24px #ff6b6b66}.shorten-btn:disabled{opacity:.6;cursor:not-allowed;transform:none}.domain-selector{display:flex;align-items:center;gap:1rem;margin-bottom:1rem;padding:1rem;background:linear-gradient(135deg,#4ecdc40d,#ffe66d0d);border-radius:12px;border:2px solid rgba(78,205,196,.2)}.domain-selector label{font-weight:600;color:#1a535c;font-size:.95rem;white-space:nowrap}.domain-select{flex:1;padding:.75rem 3rem .75rem 1rem;border:2px solid rgba(78,205,196,.3);border-radius:8px;font-size:.95rem;background:#fff;color:#1a535c;font-weight:600;cursor:pointer;transition:all .3s ease;-webkit-appearance:none;-moz-appearance:none;appearance:none;background-image:url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' width='12' height='12' viewBox='0 0 12 12'%3E%3Cpath fill='%234ECDC4' d='M6 9L1 4h10z'/%3E%3C/svg%3E");background-repeat:no-repeat;background-position:right 1rem center}.domain-select:focus{outline:none;border-color:#4ecdc4;box-shadow:0 0 0 4px #4ecdc426}.domain-select:disabled{opacity:.6;cursor:not-allowed}.error-message{color:#ff6b6b;font-size:.9rem;margin-top:.5rem;text-align:center;font-weight:500}.result-container{text-align:center}.result-container h3{color:#1a535c;margin-bottom:1rem;font-weight:700}.result-box{display:flex;align-items:center;gap:1rem;background:linear-gradient(135deg,#4ecdc41a,#ffe66d1a);padding:1rem 1.5rem;border-radius:12px;border:2px solid #4ECDC4}.qr-container{margin-top:1rem;display:flex;justify-content:center;position:relative}.qr-container img{width:160px;height:160px;border-radius:12px;box-shadow:0 8px 24px #1a535c26;border:3px solid white}@media (max-width: 640px){.qr-container img{width:min(70vw,220px);height:auto}}.qr-edit-btn{position:absolute;bottom:8px;right:calc(50% - 72px);padding:.4rem .8rem;background:#4ecdc4;color:#fff;border:none;border-radius:6px;font-size:.8rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #4ecdc466;-webkit-backdrop-filter:blur(4px);backdrop-filter:blur(4px);display:flex;align-items:center;gap:.25rem}.qr-edit-btn:hover{background:#45b8b0;transform:translateY(-2px);box-shadow:0 6px 16px #4ecdc480}.short-url{flex:1;color:#1a535c;text-decoration:none;font-weight:600;word-break:break-all;transition:color .3s ease}.copy-btn{padding:.5rem 1rem;background:#ffe66d;color:#1a535c;border:none;border-radius:8px;font-size:.9rem;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 2px 8px #ffe66d4d}.copy-btn:hover{background:#ffd93d;transform:translateY(-2px);box-shadow:0 4px 12px #ffe66d66}@media (max-width: 768px){.url-shortener{padding:1.5rem;margin:0 .5rem}.input-group{flex-direction:column}.result-box{flex-direction:column;text-align:center}.short-url{text-align:center}}.qr-editor-container{margin-top:2rem;background:#fff;border-radius:12px;border:2px solid #4ECDC4;overflow:hidden;box-shadow:0 8px 32px #1a535c1f;width:100%;max-width:100%;position:relative}.qr-editor-header{display:flex;justify-content:space-between;align-items:center;padding:1rem 1.5rem;border-bottom:3px solid #4ECDC4;background:linear-gradient(135deg,#4ecdc41a,#ffe66d1a)}.qr-editor-header h3{margin:0;font-size:1.25rem;color:#1a535c;font-weight:700}.qr-editor-close{background:none;border:none;font-size:2rem;color:#1a535c;cursor:pointer;padding:0;width:32px;height:32px;display:flex;align-items:center;justify-content:center;border-radius:50%;transition:all .3s ease;flex-shrink:0}.qr-editor-close:hover{background:#ff6b6b;color:#fff}.qr-editor-content{display:flex;flex-direction:column;gap:1.5rem;padding:1rem;max-width:100%;overflow-x:hidden}@media (min-width: 769px){.qr-editor-content{display:grid;grid-template-columns:minmax(0,1fr) minmax(0,1fr);gap:2rem;padding:2rem}}.qr-editor-controls{display:flex;flex-direction:column;gap:1rem;width:100%;min-width:0;overflow:visible}@media (min-width: 769px){.qr-editor-controls{gap:1.5rem}}.qr-control-section{border:2px solid rgba(78,205,196,.3);border-radius:8px;padding:1rem;background:#f7fff7;width:100%;min-width:0}.qr-control-section details{width:100%}.qr-control-section details[open] summary{margin-bottom:1rem;padding-bottom:.75rem;border-bottom:1px solid #e0e0e0}.qr-control-section h4,.qr-control-section summary{margin:0 0 1rem;font-size:1rem;font-weight:700;color:#1a535c;cursor:pointer}.qr-control-section-content{margin-top:1rem;display:flex;flex-direction:column;gap:1rem}.qr-control-row{display:flex;flex-direction:column;gap:.5rem;width:100%;min-width:0}.qr-control-row label{font-size:.875rem;font-weight:600;color:#1a535c}.qr-control-grid{display:grid;grid-template-columns:1fr;gap:1rem;width:100%}@media (min-width: 500px){.qr-control-grid{grid-template-columns:1fr 1fr}}.qr-color-input{width:50px;height:50px;border:3px solid #4ECDC4;border-radius:8px;cursor:pointer;transition:all .3s ease;flex-shrink:0}.qr-color-input:hover{border-color:#ff6b6b;transform:scale(1.05)}.qr-select{padding:.625rem;border:2px solid rgba(78,205,196,.3);border-radius:8px;font-size:.875rem;background:#fff;cursor:pointer;transition:all .3s ease;width:100%;max-width:100%;color:#1a535c;font-weight:500}.qr-select:focus{outline:none;border-color:#4ecdc4;box-shadow:0 0 0 4px #4ecdc426}.qr-toggle-group{display:flex;align-items:center;gap:.75rem;font-size:.875rem;color:#1a535c;font-weight:500}.qr-toggle{position:relative;display:inline-block;width:44px;height:24px}.qr-toggle input{opacity:0;width:0;height:0}.qr-toggle-slider{position:absolute;cursor:pointer;top:0;left:0;right:0;bottom:0;background-color:#ccc;transition:.4s;border-radius:24px}.qr-toggle-slider:before{position:absolute;content:"";height:18px;width:18px;left:3px;bottom:3px;background-color:#fff;transition:.4s;border-radius:50%}.qr-toggle input:checked+.qr-toggle-slider{background-color:#4ecdc4}.qr-toggle input:checked+.qr-toggle-slider:before{transform:translate(20px)}.qr-gradient-section{display:flex;flex-direction:column;gap:1rem;padding:1rem;background:#fff;border-radius:8px;border:2px solid rgba(78,205,196,.3)}.qr-gradient-colors{display:flex;flex-direction:column;gap:.5rem}.qr-gradient-color-row{display:flex;align-items:center;gap:.75rem}.qr-remove-color{background:#ff6b6b;color:#fff;border:none;width:28px;height:28px;border-radius:50%;font-size:1.25rem;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 4px #ff6b6b4d}.qr-remove-color:hover{background:#ff5252;transform:scale(1.05)}.qr-add-color{padding:.5rem 1rem;background:transparent;border:2px dashed #4ECDC4;color:#4ecdc4;font-size:.875rem;font-weight:600;border-radius:6px;cursor:pointer;transition:all .3s ease}.qr-add-color:hover{background:#4ecdc41a;border-style:solid}.qr-file-upload{display:flex;align-items:center;gap:.75rem}.qr-file-input{display:none}.qr-file-label{padding:.625rem 1.25rem;background:#f7fff7;border:2px solid #4ECDC4;border-radius:8px;font-size:.875rem;font-weight:600;color:#1a535c;cursor:pointer;transition:all .3s ease}.qr-file-label:hover{background:#4ecdc41a;transform:translateY(-2px);box-shadow:0 4px 8px #4ecdc433}.qr-clear-logo{padding:.5rem 1rem;background:#ff6b6b;color:#fff;border:none;border-radius:6px;font-size:.875rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #ff6b6b4d}.qr-clear-logo:hover{background:#ff5252;transform:translateY(-2px);box-shadow:0 4px 8px #ff6b6b66}.qr-range{width:100%;height:6px;border-radius:5px;background:#4ecdc433;outline:none;-moz-appearance:none;appearance:none;-webkit-appearance:none}.qr-range::-webkit-slider-thumb{-moz-appearance:none;appearance:none;-webkit-appearance:none;width:18px;height:18px;border-radius:50%;background:#4ecdc4;cursor:pointer;box-shadow:0 2px 4px #4ecdc44d}.qr-range::-moz-range-thumb{width:18px;height:18px;border-radius:50%;background:#4ecdc4;cursor:pointer;border:none;box-shadow:0 2px 4px #4ecdc44d}.qr-help-text{font-size:.75rem;color:#1a535c;opacity:.7;margin:.5rem 0 0}.qr-download-buttons{display:grid;grid-template-columns:1fr 1fr;gap:1rem;padding-top:1rem;border-top:3px solid #4ECDC4}@media (max-width: 768px){.qr-download-buttons{grid-template-columns:1fr!important}}.qr-download-btn{padding:.875rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease}.qr-download-png{background:#ff6b6b;color:#fff;box-shadow:0 4px 12px #ff6b6b4d}.qr-download-png:hover{background:#ff5252;transform:translateY(-2px);box-shadow:0 6px 16px #ff6b6b66}.qr-download-svg{background:#1a535c;color:#fff;box-shadow:0 4px 12px #1a535c4d}.qr-download-svg:hover{background:#143f46;transform:translateY(-2px);box-shadow:0 6px 16px #1a535c66}.qr-save-btn{background:#4ecdc4;color:#fff;box-shadow:0 4px 12px #4ecdc44d}.qr-save-btn:hover{background:#45b8b0;transform:translateY(-2px);box-shadow:0 6px 16px #4ecdc466}.qr-editor-preview{display:flex;align-items:center;justify-content:center;background:linear-gradient(135deg,#4ecdc41a,#ffe66d1a);border-radius:12px;padding:1.5rem;min-height:280px;order:-1;width:100%;max-width:100%;overflow:hidden;border:2px solid rgba(78,205,196,.2)}@media (min-width: 769px){.qr-editor-preview{min-height:400px;padding:2rem;order:0}}.qr-preview-canvas{background:#fff;padding:1rem;border-radius:12px;box-shadow:0 8px 24px #1a535c26;display:inline-block;max-width:100%;width:100%;box-sizing:border-box;border:2px solid white}@media (min-width: 500px){.qr-preview-canvas{padding:1.5rem;width:auto}}.qr-preview-canvas>div{display:flex;align-items:center;justify-content:center;max-width:100%}.qr-preview-canvas canvas,.qr-preview-canvas svg{max-width:100%!important;height:auto!important;width:auto!important;display:block}@media (max-width: 768px){.qr-control-grid,.qr-download-buttons{grid-template-columns:1fr}.qr-editor-header{padding:1rem}.qr-editor-header h3{font-size:1.125rem}.qr-editor-content{padding:1rem;gap:1.25rem}.qr-control-section{padding:.875rem}}@media (max-width: 480px){.qr-editor-container{margin-top:1rem;border-radius:8px}.qr-editor-header{padding:.875rem 1rem}.qr-editor-header h3{font-size:1rem}.qr-editor-content{padding:.75rem;gap:1rem}.qr-editor-preview{padding:1rem;min-height:250px}.qr-preview-canvas{padding:.75rem}.qr-control-section{padding:.75rem;border-radius:6px}.qr-download-btn{padding:.75rem 1rem;font-size:.875rem}.qr-gradient-color-row{flex-wrap:wrap}}*{box-sizing:border-box}.qr-editor-container *{max-width:100%}.bulk-url-shortener{max-width:900px;margin:0 auto;padding:2rem 1rem}.auth-required{text-align:center;padding:4rem 2rem;background:#fff;border-radius:12px;box-shadow:0 8px 32px #1a535c1f;border:2px solid rgba(78,205,196,.2);max-width:500px;margin:2rem auto}.auth-icon{font-size:4rem;margin-bottom:1rem;color:#4ecdc4}.auth-required h2{font-size:1.75rem;color:#1a535c;margin-bottom:1rem;font-weight:700}.auth-required p{color:#1a535c;opacity:.7;font-size:1rem;margin-bottom:.75rem;line-height:1.6}.auth-subtext{font-size:.875rem;color:#1a535c;opacity:.6;margin-bottom:2rem!important}.auth-cta-btn{padding:.875rem 2rem;background:#ff6b6b;color:#fff;border:none;border-radius:8px;font-size:1.125rem;font-weight:700;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ff6b6b4d}.auth-cta-btn:hover{background:#ff5252;transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b66}.loading{color:#1a535c;opacity:.7;font-size:1rem;padding:2rem}.bulk-header{text-align:center;margin-bottom:2rem}.bulk-header h2{font-size:2rem;color:#1a535c;margin-bottom:.5rem;font-weight:700}.bulk-header p{color:#1a535c;opacity:.7;font-size:1rem}.bulk-actions{display:flex;gap:1rem;margin-bottom:2rem;flex-wrap:wrap}.add-url-btn,.shorten-all-btn,.clear-all-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .3s ease;display:flex;align-items:center;gap:.5rem}.add-url-btn{background:#4ecdc4;color:#fff;box-shadow:0 4px 12px #4ecdc44d}.add-url-btn:hover{background:#45b8b0;transform:translateY(-2px);box-shadow:0 6px 16px #4ecdc466}.plus-icon{font-size:1.25rem;font-weight:700}.shorten-all-btn{background:#ff6b6b;color:#fff;box-shadow:0 4px 12px #ff6b6b4d}.shorten-all-btn:hover:not(:disabled){background:#ff5252;transform:translateY(-2px);box-shadow:0 6px 16px #ff6b6b66}.shorten-all-btn:disabled{opacity:.5;cursor:not-allowed}.clear-all-btn{background:#ff6b6b;color:#fff;margin-left:auto;box-shadow:0 2px 4px #ff6b6b4d}.clear-all-btn:hover{background:#ff5252;transform:translateY(-2px);box-shadow:0 4px 8px #ff6b6b66}.url-entries{display:flex;flex-direction:column;gap:1.5rem}.url-entry-card{background:#fff;border:2px solid rgba(78,205,196,.3);border-radius:12px;padding:1.5rem;box-shadow:0 4px 12px #1a535c14;transition:all .3s ease}.url-entry-card:hover{box-shadow:0 8px 20px #1a535c1f;border-color:#4ecdc4}.entry-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:1rem}.entry-number{font-weight:700;color:#4ecdc4;font-size:1.1rem}.remove-entry-btn{background:#ff6b6b;color:#fff;border:none;border-radius:50%;width:28px;height:28px;font-size:1.5rem;line-height:1;cursor:pointer;display:flex;align-items:center;justify-content:center;transition:all .3s ease;box-shadow:0 2px 4px #ff6b6b4d}.remove-entry-btn:hover{background:#ff5252;transform:rotate(90deg);box-shadow:0 4px 8px #ff6b6b66}.remove-entry-btn:disabled{opacity:.5;cursor:not-allowed;transform:none}.entry-input-section{display:flex;gap:.75rem;margin-bottom:.75rem}.entry-input-section .url-input{flex:1;padding:.875rem;font-size:1rem;border:2px solid rgba(78,205,196,.3);border-radius:8px;transition:all .3s ease;background:#f7fff7;color:#1a535c;font-weight:500}.entry-input-section .url-input:focus{outline:none;border-color:#4ecdc4;box-shadow:0 0 0 4px #4ecdc426}.entry-input-section .url-input:disabled{background:#f5f5f5;cursor:not-allowed}.entry-input-section .shorten-btn{padding:.875rem 1.5rem;background:#ff6b6b;color:#fff;border:none;border-radius:8px;font-size:1rem;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 4px 12px #ff6b6b4d}.entry-input-section .shorten-btn:hover:not(:disabled){background:#ff5252;transform:translateY(-2px);box-shadow:0 6px 16px #ff6b6b66}.entry-input-section .shorten-btn:disabled{opacity:.5;cursor:not-allowed}.error-message{color:#ff6b6b;font-size:.875rem;font-weight:600;margin-top:.5rem;padding:.75rem;background:#ff6b6b1a;border-radius:8px;border:2px solid rgba(255,107,107,.3)}.entry-result{margin-top:1rem;padding-top:1rem;border-top:2px solid rgba(78,205,196,.3);display:flex;gap:1.5rem;align-items:flex-start;flex-wrap:wrap}.result-section{flex:1;min-width:250px}.result-box{display:flex;gap:.75rem;align-items:center;padding:.875rem;background:linear-gradient(135deg,#4ecdc41a,#ffe66d1a);border-radius:8px;border:2px solid #4ECDC4}.short-url{flex:1;color:#1a535c;text-decoration:none;font-weight:700;word-break:break-all;transition:color .3s ease}.short-url:hover{color:#4ecdc4;text-decoration:underline}.copy-btn{padding:.5rem 1rem;background:#ffe66d;color:#1a535c;border:2px solid #FFE66D;border-radius:6px;font-size:.875rem;font-weight:700;cursor:pointer;transition:all .3s ease;white-space:nowrap;box-shadow:0 2px 4px #ffe66d4d}.copy-btn:hover{background:#ffd93d;border-color:#ffd93d;transform:translateY(-2px);box-shadow:0 4px 8px #ffe66d66}.qr-section{display:flex;justify-content:center;align-items:center}.qr-container{padding:.75rem;background:#fff;border:2px solid #4ECDC4;border-radius:8px;box-shadow:0 4px 12px #4ecdc433}.qr-container img{display:block;max-width:150px;height:auto}@media (max-width: 768px){.bulk-url-shortener{padding:1rem .5rem}.bulk-header h2{font-size:1.5rem}.bulk-actions{flex-direction:column}.clear-all-btn{margin-left:0}.entry-input-section{flex-direction:column}.entry-input-section .shorten-btn{width:100%}.entry-result{flex-direction:column;align-items:center}.result-section{width:100%}.result-box{flex-direction:column;text-align:center}.copy-btn{width:100%}}.url-history{width:100%;max-width:800px;margin:0 auto;padding:2.5rem;background:#fff;border-radius:20px;box-shadow:0 20px 60px #1a535c1f;border:2px solid rgba(78,205,196,.2)}@media (max-width: 640px){.url-history{padding:1.5rem 1rem;max-width:100%;margin:0 .5rem}}.history-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:2rem;padding-bottom:1rem;border-bottom:3px solid #4ECDC4}.history-header h2{color:#1a535c;font-weight:700;margin:0}.clear-btn{padding:.5rem 1rem;background:#ff6b6b;color:#fff;border:none;border-radius:8px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .3s ease;box-shadow:0 2px 4px #ff6b6b4d}.clear-btn:hover{background:#ff5252;transform:translateY(-2px);box-shadow:0 4px 8px #ff6b6b66}.loading{text-align:center;padding:2rem;color:#1a535c;font-style:italic;opacity:.7}.empty-state{text-align:center;padding:3rem 1rem;color:#1a535c}.empty-icon{font-size:4rem;margin-bottom:1rem;color:#4ecdc4}.empty-state h3{color:#1a535c;margin-bottom:.5rem;font-weight:700}.empty-state p{font-size:1.1rem;opacity:.7;color:#1a535c}.history-list{display:flex;flex-direction:column;gap:1rem}.history-item{display:flex;flex-direction:column;padding:1.5rem;background:linear-gradient(135deg,#4ecdc40d,#ffe66d0d);border-radius:12px;border:2px solid rgba(78,205,196,.3);transition:all .3s ease}.history-item-header{display:flex;justify-content:space-between;align-items:center;width:100%}@media (max-width: 640px){.history-item-header{flex-direction:column;align-items:flex-start;gap:.75rem}}.qr-editor-wrapper{margin-top:1.5rem;padding-top:1.5rem;border-top:2px solid rgba(78,205,196,.3)}.history-item:hover{transform:translateY(-2px);box-shadow:0 4px 12px #4ecdc433;border-color:#4ecdc4}.url-info{flex:1;min-width:0}.original-url{color:#1a535c;font-size:.9rem;margin-bottom:.5rem;word-break:break-all;opacity:.7;font-weight:500}.short-url{margin-bottom:.5rem}.short-link{color:#4ecdc4;text-decoration:none;font-weight:700;word-break:break-all;transition:color .3s ease}.short-link:hover{color:#ff6b6b;text-decoration:underline}.timestamp{color:#1a535c;opacity:.6;font-size:.8rem;font-style:italic}.action-buttons{display:flex;gap:.5rem;margin-left:1rem}.action-btn{padding:.5rem;border:none;border-radius:6px;cursor:pointer;transition:all .3s ease;font-size:1.1rem;background:transparent;color:#1a535c}.action-btn.copy:hover{background:#ffe66d;color:#1a535c;transform:scale(1.1)}.action-btn.copy-original:hover{background:#4ecdc4;color:#fff;transform:scale(1.1)}.action-btn.qr:hover{background:#ff6b6b;color:#fff;transform:scale(1.1)}@media (max-width: 768px){.url-history{padding:1.5rem;margin:0 .5rem}.history-header{flex-direction:column;gap:1rem;text-align:center}.history-item-header{flex-direction:column;text-align:center;gap:1rem}.action-buttons{margin-left:0}}.qr-modal{position:fixed;top:0;right:0;bottom:0;left:0;display:flex;align-items:center;justify-content:center;z-index:2000}.qr-modal-backdrop{position:absolute;top:0;right:0;bottom:0;left:0;background:#1a535c80}.qr-modal-content{position:relative;background:#fff;padding:1.5rem;border-radius:12px;box-shadow:0 20px 60px #1a535c40;z-index:2010;max-width:90%;max-height:90vh;overflow-y:auto;border:2px solid #4ECDC4}.qr-display{display:flex;flex-direction:column;align-items:center;gap:1.5rem}.qr-display img{display:block;width:260px;height:260px;border-radius:8px;border:2px solid #4ECDC4}.qr-actions{display:flex;flex-direction:column;gap:.75rem;width:100%;max-width:260px}.qr-action-btn{padding:.75rem 1.5rem;border:none;border-radius:8px;font-size:.95rem;font-weight:600;cursor:pointer;transition:all .3s ease}.qr-action-btn.download-png{background:#ff6b6b;color:#fff;box-shadow:0 4px 12px #ff6b6b4d}.qr-action-btn.download-png:hover{background:#ff5252;transform:translateY(-2px);box-shadow:0 6px 16px #ff6b6b66}.qr-action-btn.download-svg{background:#1a535c;color:#fff;box-shadow:0 4px 12px #1a535c4d}.qr-action-btn.download-svg:hover{background:#143f46;transform:translateY(-2px);box-shadow:0 6px 16px #1a535c66}.qr-action-btn.edit-qr-btn{background:#4ecdc4;color:#fff;box-shadow:0 4px 12px #4ecdc44d}.qr-action-btn.edit-qr-btn:hover{background:#45b8b0;transform:translateY(-2px);box-shadow:0 6px 16px #4ecdc466}.qr-editor-in-modal{width:100%;max-width:1000px}.qr-editor-in-modal .qr-editor-controls{max-height:none!important;overflow-y:visible!important}.qr-back{position:absolute;top:1rem;left:1rem;padding:.5rem 1rem;background:#4ecdc4;border:none;border-radius:8px;font-size:.9rem;font-weight:600;color:#fff;cursor:pointer;transition:all .3s ease;z-index:10;box-shadow:0 2px 4px #4ecdc44d}.qr-back:hover{background:#45b8b0;transform:translate(-2px);box-shadow:0 4px 8px #4ecdc466}.qr-close{position:absolute;top:6px;right:8px;border:none;background:transparent;font-size:1.4rem;cursor:pointer;color:#1a535c;transition:color .3s ease}.qr-close:hover{color:#ff6b6b}.qr-loading,.qr-error{padding:1rem 2rem;font-size:1rem;color:#1a535c}.auth-page{display:flex;align-items:center;justify-content:center;padding:40px 16px}.auth-card{width:100%;max-width:360px;background:#fff;border-radius:16px;box-shadow:0 8px 32px #1a535c1f;padding:2rem;border:2px solid rgba(78,205,196,.2)}.auth-card h2{margin:0 0 1.5rem;font-size:1.5rem;font-weight:700;color:#1a535c}.auth-form input{width:100%;padding:.75rem 1rem;margin-bottom:1rem;border:2px solid rgba(78,205,196,.3);border-radius:8px;font-size:.95rem;background:#f7fff7;color:#1a535c;font-weight:500;transition:all .3s ease;box-sizing:border-box}.auth-form input:focus{outline:none;border-color:#4ecdc4;box-shadow:0 0 0 4px #4ecdc426}.auth-form input::placeholder{color:#1a535c;opacity:.5}.auth-submit{width:100%;padding:.875rem 1.5rem;background:#ff6b6b;color:#fff;border:none;border-radius:8px;font-weight:700;font-size:1rem;cursor:pointer;transition:all .3s ease;box-shadow:0 4px 12px #ff6b6b4d}.auth-submit:hover{background:#ff5252;transform:translateY(-2px);box-shadow:0 6px 16px #ff6b6b66}.auth-toggle{text-align:center;margin-top:1.5rem;color:#1a535c;font-size:.95rem}.text-link{background:none;border:none;color:#4ecdc4;cursor:pointer;font-weight:700;transition:color .3s ease}.text-link:hover{color:#ff6b6b;text-decoration:underline}.auth-error{color:#ff6b6b;padding:.75rem;font-size:.9rem;font-weight:600;background:#ff6b6b1a;border-radius:8px;margin-bottom:1rem;border:2px solid rgba(255,107,107,.3)}.pro-wrapper{width:100%;display:flex;flex-direction:column;align-items:center}.pro-header-row{width:100%;max-width:980px;display:flex;justify-content:flex-start;padding:12px 0}.pro-card{width:100%;max-width:720px;background:#fff;border-radius:12px;padding:20px;box-shadow:0 6px 24px #1a535c14;border:2px solid rgba(78,205,196,.2);margin:0 auto}.pro-title{color:#1a535c;margin-bottom:6px}.pro-subtitle{color:#1a535c;opacity:.8;margin-bottom:16px}.pro-benefits{margin:8px 0 16px 16px;color:#1a535c}.pro-benefits li{margin:6px 0}.pro-cta{display:flex;flex-direction:column;align-items:center;gap:10px}.pro-purchase-btn,.pro-signin-btn{background:#4ecdc4;color:#fff;border:none;padding:12px 20px;border-radius:10px;cursor:pointer;font-weight:700;transition:all .2s ease;box-shadow:0 2px 8px #4ecdc44d;min-height:44px}.pro-purchase-btn:hover,.pro-signin-btn:hover{background:#45b8b0;transform:translateY(-2px)}.pro-purchase-btn:disabled{opacity:.6;cursor:not-allowed;transform:none;box-shadow:none}.pro-purchase-btn:disabled:hover{background:#4ecdc4}.pro-footnote{font-size:12px;color:#1a535c;opacity:.8}.pro-already{padding:12px;background:#f7fff7;border-radius:8px;color:#1a535c;border:1px solid rgba(78,205,196,.25)}.pro-status{width:100%;border-radius:8px;padding:12px;box-sizing:border-box;font-size:14px;margin-bottom:12px}.pro-status.success{background:#f7fff7;border:1px solid rgba(78,205,196,.4);color:#1a535c}.pro-status.error{background:#ffecec;border:1px solid rgba(220,53,69,.3);color:#8b1e2d}.pro-status.info{background:#e8f4ff;border:1px solid rgba(33,150,243,.3);color:#1a5276}.pro-processing-note{font-size:13px;color:#1a535c;opacity:.8}@media (max-width: 480px){.pro-card{padding:16px}}.dev-portal{--dev-bg: #fafafa;--dev-card-bg: #ffffff;--dev-text: #1a1a2e;--dev-text-muted: #6b7280;--dev-text-light: #9ca3af;--dev-border: #e5e7eb;--dev-border-light: #f3f4f6;--dev-primary: #ff6b6b;--dev-primary-light: #ffeaea;--dev-primary-dark: #e55555;--dev-accent: #4f46e5;--dev-accent-light: #eef2ff;--dev-success: #10b981;--dev-success-light: #d1fae5;--dev-warning: #f59e0b;--dev-warning-light: #fef3c7;--dev-danger: #ef4444;--dev-danger-light: #fee2e2;--dev-gradient: linear-gradient(135deg, #ff6b6b 0%, #ffa07a 50%, #ffd89b 100%);--dev-gradient-cool: linear-gradient(135deg, #667eea 0%, #764ba2 100%);--dev-shadow-sm: 0 1px 2px rgba(0, 0, 0, .04);--dev-shadow: 0 4px 6px -1px rgba(0, 0, 0, .05), 0 2px 4px -1px rgba(0, 0, 0, .03);--dev-shadow-lg: 0 10px 25px -3px rgba(0, 0, 0, .08), 0 4px 6px -2px rgba(0, 0, 0, .04);--dev-shadow-xl: 0 20px 40px -10px rgba(0, 0, 0, .1);--dev-radius: 12px;--dev-radius-lg: 16px;--dev-radius-xl: 20px;max-width:1000px;margin:0 auto;padding:24px;min-height:100vh;background:var(--dev-bg);font-family:Inter,-apple-system,BlinkMacSystemFont,Segoe UI,sans-serif}.dev-portal-header{margin-bottom:32px}.dev-back-btn{display:inline-flex;align-items:center;gap:8px;padding:10px 18px;background:var(--dev-card-bg);border:1px solid var(--dev-border);color:var(--dev-text);border-radius:10px;cursor:pointer;font-size:14px;font-weight:500;transition:all .2s ease;box-shadow:var(--dev-shadow-sm)}.dev-back-btn:hover{background:var(--dev-border-light);border-color:var(--dev-border);transform:translate(-2px)}.dev-back-btn svg{stroke:var(--dev-text-muted)}.dev-hero{text-align:center;padding:48px 24px;margin-bottom:40px;background:var(--dev-card-bg);border-radius:var(--dev-radius-xl);box-shadow:var(--dev-shadow);border:1px solid var(--dev-border-light);position:relative;overflow:hidden}.dev-hero:before{content:"";position:absolute;top:0;left:0;right:0;height:4px;background:var(--dev-gradient)}.dev-hero-icon{display:inline-flex;align-items:center;justify-content:center;width:72px;height:72px;background:var(--dev-gradient);border-radius:18px;margin-bottom:20px;color:#fff;box-shadow:0 8px 20px #ff6b6b40}.dev-hero h1{font-size:2rem;font-weight:700;color:var(--dev-text);margin:0 0 10px;letter-spacing:-.025em}.dev-hero-subtitle{font-size:1rem;color:var(--dev-text-muted);margin:0 auto;max-width:400px;line-height:1.6}.dev-plan-header{display:flex;align-items:center;justify-content:center;gap:16px;margin-bottom:32px}.dev-plan-card{display:flex;align-items:center;gap:12px;background:var(--dev-card-bg);padding:12px 20px;border-radius:50px;box-shadow:var(--dev-shadow);border:1px solid var(--dev-border-light)}.dev-plan-icon{width:40px;height:40px;background:var(--dev-accent-light);border-radius:10px;display:flex;align-items:center;justify-content:center;font-size:1.2rem}.dev-plan-info{display:flex;flex-direction:column}.dev-plan-label{font-size:.75rem;color:var(--dev-text-light);text-transform:uppercase;letter-spacing:.05em}.dev-plan-name{font-size:1rem;font-weight:600;color:var(--dev-text)}.dev-plan-days{display:flex;align-items:center;gap:6px;padding:8px 14px;background:var(--dev-primary-light);color:var(--dev-primary);border-radius:20px;font-size:.85rem;font-weight:600}.dev-auth-required{display:flex;justify-content:center;margin-bottom:48px}.dev-auth-card{background:var(--dev-card-bg);border:1px solid var(--dev-border-light);border-radius:var(--dev-radius-xl);padding:48px 40px;text-align:center;max-width:420px;box-shadow:var(--dev-shadow-lg)}.dev-auth-icon{display:inline-flex;align-items:center;justify-content:center;width:64px;height:64px;background:var(--dev-accent-light);border-radius:16px;margin-bottom:24px}.dev-auth-icon svg{stroke:var(--dev-accent)}.dev-auth-card h2{font-size:1.5rem;color:var(--dev-text);margin:0 0 12px;font-weight:700}.dev-auth-card p{color:var(--dev-text-muted);margin:0 0 28px;line-height:1.7;font-size:.95rem}.dev-signin-btn{display:inline-flex;align-items:center;justify-content:center;padding:14px 36px;background:var(--dev-gradient);color:#fff;border:none;border-radius:12px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .25s ease;box-shadow:0 4px 14px #ff6b6b4d}.dev-signin-btn:hover{transform:translateY(-2px);box-shadow:0 8px 25px #ff6b6b66}.dev-features{margin-bottom:48px}.dev-features h2{text-align:center;font-size:1.25rem;color:var(--dev-text);margin-bottom:28px;font-weight:600}.dev-features-grid{display:grid;grid-template-columns:repeat(auto-fit,minmax(220px,1fr));gap:20px}.dev-feature-card{background:var(--dev-card-bg);border:1px solid var(--dev-border-light);border-radius:var(--dev-radius-lg);padding:28px 24px;text-align:center;transition:all .25s ease;box-shadow:var(--dev-shadow-sm)}.dev-feature-card:hover{transform:translateY(-4px);box-shadow:var(--dev-shadow-lg);border-color:var(--dev-border)}.dev-feature-icon{font-size:2.2rem;margin-bottom:14px}.dev-feature-card h3{font-size:1rem;color:var(--dev-text);margin:0 0 8px;font-weight:600}.dev-feature-card p{font-size:.875rem;color:var(--dev-text-muted);margin:0;line-height:1.6}.dev-stats-card{background:var(--dev-card-bg);border:1px solid var(--dev-border-light);border-radius:var(--dev-radius-xl);padding:28px;margin-bottom:28px;box-shadow:var(--dev-shadow)}.dev-stats-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:24px;padding-bottom:16px;border-bottom:1px solid var(--dev-border-light)}.dev-stats-header h2{font-size:1.1rem;color:var(--dev-text);margin:0;font-weight:600}.dev-plan-badge{padding:6px 14px;border-radius:20px;font-size:.8rem;font-weight:600;display:flex;align-items:center;gap:6px}.dev-plan-badge.free{background:var(--dev-border-light);color:var(--dev-text-muted)}.dev-plan-badge.pro{background:linear-gradient(135deg,#fbbf24,#f59e0b);color:#fff;box-shadow:0 2px 8px #f59e0b4d}.dev-stats-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:24px}.dev-stats-grid.pro-grid{grid-template-columns:repeat(3,1fr)}.dev-stat{text-align:center;padding:20px;background:var(--dev-bg);border-radius:var(--dev-radius);border:1px solid var(--dev-border-light)}.dev-stat-value{font-size:2.25rem;font-weight:700;color:var(--dev-text);margin-bottom:4px;letter-spacing:-.02em}.dev-stat-label{font-size:.85rem;color:var(--dev-text-muted);font-weight:500}.dev-stat-limit{color:var(--dev-text-light);font-weight:400}.dev-usage-bar{width:100%;height:6px;background:var(--dev-border-light);border-radius:3px;margin-top:12px;overflow:hidden}.dev-usage-fill{height:100%;background:var(--dev-gradient);border-radius:3px;transition:width .4s ease}.dev-usage-fill.full{background:var(--dev-danger)}.dev-limit-warning{margin-top:8px;font-size:.75rem;color:var(--dev-danger);font-weight:600}.dev-upgrade-banner{display:flex;justify-content:space-between;align-items:center;background:linear-gradient(135deg,#fef3c7,#fde68a);border:1px solid #fcd34d;border-radius:var(--dev-radius);padding:18px 24px;margin-top:24px}.dev-upgrade-text{display:flex;flex-direction:column;gap:4px}.dev-upgrade-text strong{color:var(--dev-text);font-size:.95rem}.dev-upgrade-text span{color:#92400e;font-size:.85rem}.dev-upgrade-btn{padding:10px 22px;background:var(--dev-text);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease;white-space:nowrap}.dev-upgrade-btn:hover{transform:scale(1.02);box-shadow:0 4px 12px #00000026}.dev-keys-section{background:var(--dev-card-bg);border:1px solid var(--dev-border-light);border-radius:var(--dev-radius-xl);padding:28px;margin-bottom:28px;box-shadow:var(--dev-shadow)}.dev-keys-header{display:flex;justify-content:space-between;align-items:center;margin-bottom:12px}.dev-keys-header h2{font-size:1.1rem;color:var(--dev-text);margin:0;font-weight:600}.dev-keys-description{color:var(--dev-text-muted);font-size:.9rem;line-height:1.6;margin:0 0 24px;padding-bottom:20px;border-bottom:1px solid var(--dev-border-light)}.dev-create-btn{display:inline-flex;align-items:center;gap:8px;padding:11px 20px;background:var(--dev-text);color:#fff;border:none;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.dev-create-btn:hover:not(:disabled){background:#2d2d42;transform:translateY(-1px);box-shadow:var(--dev-shadow)}.dev-create-btn:disabled{opacity:.6;cursor:not-allowed}.dev-create-btn svg{stroke-width:2.5}.dev-error{background:var(--dev-danger-light);border:1px solid rgba(239,68,68,.2);color:var(--dev-danger);padding:14px 18px;border-radius:var(--dev-radius);margin-bottom:20px;font-size:.9rem;font-weight:500}.dev-modal-overlay{position:fixed;top:0;left:0;right:0;bottom:0;background:#0006;display:flex;align-items:center;justify-content:center;z-index:1000;padding:20px;-webkit-backdrop-filter:blur(8px);backdrop-filter:blur(8px)}.dev-modal{background:var(--dev-card-bg);border-radius:var(--dev-radius-xl);width:100%;max-width:440px;box-shadow:var(--dev-shadow-xl);overflow:hidden;animation:modalSlideIn .25s ease}@keyframes modalSlideIn{0%{opacity:0;transform:translateY(-20px) scale(.95)}to{opacity:1;transform:translateY(0) scale(1)}}.dev-modal-header{display:flex;justify-content:space-between;align-items:center;padding:22px 24px;border-bottom:1px solid var(--dev-border-light)}.dev-modal-header h3{font-size:1.15rem;color:var(--dev-text);margin:0;font-weight:600}.dev-modal-close{width:36px;height:36px;display:flex;align-items:center;justify-content:center;background:var(--dev-bg);border:none;color:var(--dev-text-muted);font-size:1.4rem;cursor:pointer;border-radius:10px;transition:all .2s ease}.dev-modal-close:hover{background:var(--dev-border-light);color:var(--dev-text)}.dev-modal form{padding:24px}.dev-form-group{margin-bottom:20px}.dev-form-group label{display:block;font-size:.9rem;color:var(--dev-text);margin-bottom:8px;font-weight:500}.dev-form-group input{width:100%;padding:13px 16px;background:var(--dev-bg);border:1px solid var(--dev-border);border-radius:10px;color:var(--dev-text);font-size:1rem;transition:all .2s ease;box-sizing:border-box}.dev-form-group input:focus{outline:none;border-color:var(--dev-primary);box-shadow:0 0 0 4px var(--dev-primary-light)}.dev-form-group input::placeholder{color:var(--dev-text-light)}.dev-form-info{background:var(--dev-bg);border-radius:10px;padding:14px 16px;margin-bottom:20px;border:1px solid var(--dev-border-light)}.dev-form-info p{margin:0;font-size:.875rem;color:var(--dev-text-muted)}.dev-form-info strong{color:var(--dev-text)}.dev-modal-actions{display:flex;gap:12px;justify-content:flex-end}.dev-cancel-btn{padding:11px 22px;background:var(--dev-bg);border:1px solid var(--dev-border);color:var(--dev-text);border-radius:10px;font-size:.9rem;font-weight:500;cursor:pointer;transition:all .2s ease}.dev-cancel-btn:hover:not(:disabled){background:var(--dev-border-light)}.dev-submit-btn{padding:11px 22px;background:var(--dev-text);border:none;color:#fff;border-radius:10px;font-size:.9rem;font-weight:600;cursor:pointer;transition:all .2s ease}.dev-submit-btn:hover:not(:disabled){background:#2d2d42}.dev-submit-btn:disabled,.dev-cancel-btn:disabled{opacity:.6;cursor:not-allowed}.dev-new-key-success{padding:36px 24px;text-align:center}.dev-success-icon{width:60px;height:60px;background:var(--dev-success-light);border-radius:50%;display:inline-flex;align-items:center;justify-content:center;font-size:1.6rem;color:var(--dev-success);margin-bottom:18px}.dev-new-key-success h4{font-size:1.25rem;color:var(--dev-text);margin:0 0 8px;font-weight:600}.dev-key-warning{color:var(--dev-warning);font-size:.9rem;margin:0 0 24px;font-weight:500}.dev-key-display{display:flex;align-items:center;background:var(--dev-bg);border:1px solid var(--dev-border);border-radius:10px;padding:4px;margin-bottom:24px}.dev-key-display code{flex:1;padding:14px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.85rem;color:var(--dev-success);word-break:break-all;text-align:left;background:transparent}.dev-copy-btn{padding:10px 18px;background:var(--dev-card-bg);border:1px solid var(--dev-border);color:var(--dev-text);border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .2s ease;white-space:nowrap;display:inline-flex;align-items:center;gap:6px}.dev-copy-btn:hover{background:var(--dev-border-light);border-color:var(--dev-border)}.dev-done-btn{padding:13px 36px;background:var(--dev-gradient);border:none;color:#fff;border-radius:10px;font-size:1rem;font-weight:600;cursor:pointer;transition:all .2s ease;box-shadow:0 4px 14px #ff6b6b4d}.dev-done-btn:hover{transform:translateY(-2px);box-shadow:0 6px 20px #ff6b6b66}.dev-loading{text-align:center;padding:48px 20px}.dev-spinner{width:44px;height:44px;border:3px solid var(--dev-border-light);border-top-color:var(--dev-primary);border-radius:50%;animation:spin .8s linear infinite;margin:0 auto 18px}@keyframes spin{to{transform:rotate(360deg)}}.dev-loading p{color:var(--dev-text-muted);margin:0;font-size:.95rem}.dev-empty-state{text-align:center;padding:48px 24px;background:var(--dev-bg);border-radius:var(--dev-radius);border:2px dashed var(--dev-border)}.dev-empty-icon{font-size:3rem;margin-bottom:18px}.dev-empty-state h3{font-size:1.15rem;color:var(--dev-text);margin:0 0 8px;font-weight:600}.dev-empty-state p{color:var(--dev-text-muted);margin:0;font-size:.95rem}.dev-keys-list{display:flex;flex-direction:column;gap:0;border:1px solid var(--dev-border);border-radius:var(--dev-radius);overflow:hidden}.dev-key-card{display:flex;align-items:center;justify-content:space-between;gap:20px;background:var(--dev-card-bg);padding:18px 22px;transition:all .15s ease;border-bottom:1px solid var(--dev-border-light)}.dev-key-card:last-child{border-bottom:none}.dev-key-card:hover{background:var(--dev-bg)}.dev-key-main{min-width:0;flex:1}.dev-key-name{font-size:.95rem;color:var(--dev-text);font-weight:600;margin-bottom:6px}.dev-key-prefix{display:flex;align-items:center;gap:8px;margin-bottom:8px}.dev-key-prefix code{font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.85rem;color:var(--dev-text-muted);background:var(--dev-bg);padding:4px 10px;border-radius:6px;border:1px solid var(--dev-border-light);max-width:300px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.dev-key-meta-inline{display:flex;gap:16px;font-size:.8rem;color:var(--dev-text-light)}.dev-key-show-btn{background:none;border:none;padding:4px;cursor:pointer;color:var(--dev-text-light);display:flex;align-items:center;transition:color .15s}.dev-key-show-btn:hover{color:var(--dev-text-muted)}.dev-key-meta{display:flex;flex-direction:column;gap:4px;text-align:right;min-width:140px}.dev-key-date{font-size:.8rem;color:var(--dev-text-muted)}.dev-key-usage{font-size:.8rem;color:var(--dev-text-light)}.dev-key-actions{display:flex;align-items:center;gap:8px}.dev-key-copy-btn{display:inline-flex;align-items:center;gap:6px;padding:8px 16px;background:var(--dev-card-bg);border:1px solid var(--dev-border);color:var(--dev-text);border-radius:8px;font-size:.85rem;font-weight:500;cursor:pointer;transition:all .15s ease}.dev-key-copy-btn:hover{background:var(--dev-bg);border-color:var(--dev-border)}.dev-delete-btn{padding:8px 14px;display:flex;align-items:center;justify-content:center;background:transparent;border:1px solid var(--dev-danger-light);color:var(--dev-danger);border-radius:8px;font-size:.85rem;cursor:pointer;transition:all .15s ease}.dev-delete-btn:hover:not(:disabled){background:var(--dev-danger-light)}.dev-delete-btn:disabled{opacity:.5;cursor:not-allowed}.dev-quickstart{background:var(--dev-card-bg);border:1px solid var(--dev-border-light);border-radius:var(--dev-radius-xl);padding:28px;box-shadow:var(--dev-shadow)}.dev-quickstart h2{font-size:1.1rem;color:var(--dev-text);margin:0 0 24px;font-weight:600}.dev-code-section{margin-bottom:24px}.dev-code-section:last-child{margin-bottom:0}.dev-code-section h3{font-size:.9rem;color:var(--dev-text-muted);margin:0 0 10px;font-weight:500}.dev-code-block{display:flex;align-items:flex-start;background:#1e1e2e;border-radius:var(--dev-radius);overflow:hidden}.dev-code-block code,.dev-code-block pre{flex:1;margin:0;padding:16px 18px;font-family:SF Mono,Fira Code,Consolas,monospace;font-size:.85rem;color:#a6e3a1;white-space:pre-wrap;word-break:break-all;background:transparent;border:none;line-height:1.6}.dev-code-block .dev-copy-btn{margin:10px;padding:8px 14px;flex-shrink:0;background:#ffffff1a;border-color:transparent;color:#fff}.dev-code-block .dev-copy-btn:hover{background:#ffffff26}@media (max-width: 768px){.dev-portal{padding:16px}.dev-hero{padding:36px 20px}.dev-hero h1{font-size:1.6rem}.dev-stats-grid{grid-template-columns:1fr;gap:12px}.dev-stat{padding:16px}.dev-stat-value{font-size:1.8rem}.dev-upgrade-banner{flex-direction:column;gap:16px;text-align:center}.dev-key-card{grid-template-columns:1fr;gap:14px}.dev-key-meta{text-align:left;flex-direction:row;gap:16px;min-width:unset}.dev-key-actions{justify-content:flex-start}.dev-keys-header{flex-direction:column;gap:14px;align-items:stretch}.dev-create-btn{justify-content:center}.dev-plan-header{flex-direction:column;gap:12px}.dev-features-grid{grid-template-columns:1fr 1fr}}@media (max-width: 480px){.dev-features-grid{grid-template-columns:1fr}}.toast{position:fixed;top:20px;right:20px;background:#fff;padding:1rem 1.5rem;border-radius:12px;box-shadow:0 10px 30px #0003;display:flex;align-items:center;gap:.75rem;z-index:1000;transform:translate(100%);opacity:0;transition:all .3s ease}.toast.show{transform:translate(0);opacity:1}.toast.hide{transform:translate(100%);opacity:0}.toast.success{border-left:4px solid #48bb78}.toast.error{border-left:4px solid #e53e3e}.toast.info{border-left:4px solid #4299e1}.toast-content{display:flex;align-items:center;gap:.75rem}.toast-icon{font-size:1.2rem}.toast-message{color:#2d3748;font-weight:500}@media (max-width: 768px){.toast{left:20px;right:20px;transform:translateY(-100%)}.toast.show{transform:translateY(0)}.toast.hide{transform:translateY(-100%)}}
