:root{
    --default-bg-color:#ffffff;
    --default-text-color:#333333;
    --default-card-bg:#f8fafc;
    --default-primary:#3b82f6;
    --default-secondary:#8b5cf6;
    --default-accent:#ef4444;
    --default-shadow:rgba(0, 0, 0, 0.1);
    --default-border:#e5e7eb;
    --dark-bg-color:#0f172a;
    --dark-text-color:#f1f5f9;
    --dark-card-bg:#1e293b;
    --dark-primary:#60a5fa;
    --dark-secondary:#8b5cf6;
    --dark-accent:#f472b6;
    --dark-shadow:rgba(0, 0, 0, 0.3);
    --dark-border:#334155;
    --ocean-bg:linear-gradient(135deg, #1e88e5 0%, #00acc1 100%);
    --ocean-text:#ffffff;
    --ocean-card:rgba(255, 255, 255, 0.1);
    --ocean-primary:#38bdf8;
    --ocean-secondary:#0ea5e9;
    --sunset-bg:linear-gradient(135deg, #ff6b6b 0%, #ffa726 100%);
    --sunset-text:#1f2937;
    --sunset-card:rgba(255, 255, 255, 0.15);
    --sunset-primary:#fb923c;
    --sunset-secondary:#f97316;
    --forest-bg:linear-gradient(135deg, #43a047 0%, #1e88e5 100%);
    --forest-text:#ffffff;
    --forest-card:rgba(255, 255, 255, 0.1);
    --forest-primary:#4ade80;
    --forest-secondary:#22c55e;
    --violet-bg:linear-gradient(135deg, #8e24aa 0%, #3949ab 100%);
    --violet-text:#ffffff;
    --violet-card:rgba(255, 255, 255, 0.1);
    --violet-primary:#c084fc;
    --violet-secondary:#a855f7;
    --light-blue-bg:linear-gradient(135deg, #93c5fd 0%, #60a5fa 100%);
    --light-blue-text:#1e293b;
    --light-blue-card:rgba(255, 255, 255, 0.2);
    --light-blue-primary:#3b82f6;
    --light-blue-secondary:#2563eb;
    --light-green-bg:linear-gradient(135deg, #86efac 0%, #4ade80 100%);
    --light-green-text:#14532d;
    --light-green-card:rgba(255, 255, 255, 0.2);
    --light-green-primary:#22c55e;
    --light-green-secondary:#16a34a;
    --light-pink-bg:linear-gradient(135deg, #f9a8d4 0%, #f472b6 100%);
    --light-pink-text:#831843;
    --light-pink-card:rgba(255, 255, 255, 0.2);
    --light-pink-primary:#ec4899;
    --light-pink-secondary:#db2777;
    --white-bg:linear-gradient(135deg, #ffffff 0%, #f8fafc 100%);
    --white-text:#333333;
    --white-card:#ffffff;
    --white-primary:#3b82f6;
    --white-secondary:#8b5cf6;
    --bg-color:var(--default-bg-color);
    --text-color:var(--default-text-color);
    --card-bg:var(--default-card-bg);
    --primary:var(--default-primary);
    --secondary:var(--default-secondary);
    --accent:var(--default-accent);
    --shadow:var(--default-shadow);
    --border:var(--default-border);
}

*{
    margin:0;
    padding:0;
    box-sizing:border-box;
    transition:background-color 0.3s, color 0.3s, border-color 0.3s;
}

body{
    font-family:-apple-system, BlinkMacSystemFont, 'Segoe UI', 'PingFang SC', 'Microsoft YaHei', sans-serif;
    background:var(--bg-color);
    color:var(--text-color);
    line-height:1.6;
    min-height:100vh;
}

html,
body{
    overflow:auto !important;
    scrollbar-width:none !important;
    -webkit-overflow-scrolling:touch;
}

html::-webkit-scrollbar,
body::-webkit-scrollbar{
    width:0 !important;
    height:0 !important;
}
.no-scrollbar{
    scrollbar-width:none;
    -ms-overflow-style:none;
}

.no-scrollbar::-webkit-scrollbar{
    display:none;
}
.navbar{
    position:fixed;
    top:0;
    left:0;
    right:0;
    background:var(--card-bg);
    backdrop-filter:blur(10px);
    -webkit-backdrop-filter:blur(10px);
    border-bottom:1px solid var(--border);
    z-index:1000;
    padding:15px 0;
    transition:all 0.3s ease;
}

.navbar.scrolled{
    box-shadow:0 2px 10px var(--shadow);
}

.navbar-container{
    max-width:1200px;
    margin:0 auto;
    padding:0 20px;
    display:flex;
    justify-content:space-between;
    align-items:center;
}

.navbar-logo{
    font-size:1.8rem;
    font-weight:700;
    background:linear-gradient(45deg, var(--primary), var(--secondary));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    letter-spacing:1px;
}

.navbar-links{
    display:flex;
    gap:25px;
}

.navbar-link{
    color:var(--text-color);
    text-decoration:none;
    font-weight:500;
    padding:5px 10px;
    border-radius:5px;
    transition:all 0.3s;
    cursor:pointer;
}

.navbar-link:hover{
    background:rgba(0, 0, 0, 0.05);
    color:var(--primary);
}
.theme-selector{
    position:fixed;
    top:20px;
    right:20px;
    z-index:1001;
}

.theme-toggle{
    padding:10px 20px;
    border-radius:12px;
    border:none;
    background:var(--card-bg);
    color:var(--text-color);
    cursor:pointer;
    display:flex;
    align-items:center;
    justify-content:center;
    font-size:0.9rem;
    font-weight:500;
    box-shadow:0 4px 12px var(--shadow);
    border:1px solid var(--border);
    transition:all 0.3s ease;
    display:none;
}

.theme-toggle:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 20px var(--shadow);
}

.theme-dropdown{
    position:absolute;
    top:50px;
    right:0;
    background:var(--card-bg);
    border-radius:12px;
    padding:10px;
    box-shadow:0 8px 25px var(--shadow);
    border:1px solid var(--border);
    width:180px;
    display:none;
    grid-template-columns:repeat(2, 1fr);
    gap:8px;
    backdrop-filter:blur(10px);
}

.theme-dropdown.show{
    display:grid;
}

.theme-option{
    display:flex;
    flex-direction:column;
    align-items:center;
    gap:6px;
    padding:8px;
    border-radius:8px;
    cursor:pointer;
    transition:all 0.2s;
}

.theme-option:hover{
    background:rgba(0, 0, 0, 0.05);
}

.theme-option.active{
    background:rgba(var(--primary-rgb, 59, 130, 246), 0.1);
    border:1px solid var(--primary);
}

.theme-color{
    width:100%;
    height:20px;
    border-radius:4px;
    border:1px solid rgba(0, 0, 0, 0.1);
}

.theme-option span{
    font-size:0.7rem;
    font-weight:500;
    text-align:center;
    color:var(--text-color);
}
.container{
    max-width:1200px;
    margin:0 auto;
    padding:140px 20px 40px;
}
header{
    text-align:center;
    margin-bottom:50px;
}

.logo{
    font-size:3rem;
    font-weight:800;
    background:linear-gradient(45deg, var(--primary), var(--secondary));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    margin-bottom:20px;
    letter-spacing:2px;
}

.subtitle{
    font-size:1.2rem;
    opacity:0.8;
    max-width:600px;
    margin:0 auto 30px;
}
.tool-container{
    display:grid;
    grid-template-columns:1fr;
    gap:30px;
    margin-bottom:60px;
}

.tool-section{
    background:var(--card-bg);
    border-radius:20px;
    padding:30px;
    box-shadow:0 8px 25px var(--shadow);
    border:1px solid var(--border);
    transition:transform 0.3s, box-shadow 0.3s;
}

.tool-section:hover{
    transform:translateY(-5px);
    box-shadow:0 15px 35px var(--shadow);
}

.section-title{
    font-size:1.5rem;
    font-weight:600;
    margin-bottom:25px;
    padding-bottom:15px;
    border-bottom:2px solid var(--primary);
    display:flex;
    align-items:center;
    gap:10px;
}

.section-title i{
    color:var(--primary);
}
.tab-container{
    border-radius:12px;
    overflow:hidden;
    border:1px solid var(--border);
    background:var(--card-bg);
}

.tab-header{
    display:flex;
    background:rgba(0, 0, 0, 0.02);
    border-bottom:1px solid var(--border);
}

.tab-btn{
    flex:1;
    padding:15px 20px;
    background:none;
    border:none;
    color:var(--text-color);
    font-size:1rem;
    font-weight:500;
    cursor:pointer;
    transition:all 0.3s;
    opacity:0.7;
    position:relative;
    overflow:hidden;
}

.tab-btn::after{
    content:'';
    position:absolute;
    bottom:0;
    left:50%;
    width:0;
    height:3px;
    background:linear-gradient(45deg, var(--primary), var(--secondary));
    transition:all 0.3s ease;
    transform:translateX(-50%);
}

.tab-btn:hover{
    opacity:0.9;
    background:rgba(0, 0, 0, 0.03);
}

.tab-btn.active{
    opacity:1;
    background:var(--card-bg);
    color:var(--primary);
}

.tab-btn.active::after{
    width:100%;
}

.tab-content{
    position:relative;
    min-height:300px;
}

.tab-pane{
    display:none;
    position:absolute;
    top:0;
    left:0;
    width:100%;
    height:100%;
    opacity:0;
    transition:opacity 0.3s ease;
}

.tab-pane.active{
    display:block;
    opacity:1;
    position:relative;
}
.code-area{
    width:100%;
    height:300px;
    padding:15px;
    border:none;
    background:transparent;
    font-family:'Courier New', monospace;
    font-size:0.9rem;
    resize:none;
    outline:none;
    color:var(--text-color);
    overflow:auto;
    scrollbar-width:none;
    -ms-overflow-style:none;
}

.code-area::-webkit-scrollbar{
    display:none;
}
.button-container{
    display:flex;
    gap:15px;
    margin-bottom:20px;
    flex-wrap:wrap;
}

.type-buttons{
    display:flex;
    gap:8px;
    flex:1;
    min-width:200px;
}

.type-btn{
    flex:1;
    padding:12px 20px;
    border:1px solid var(--border);
    background:var(--card-bg);
    color:var(--text-color);
    border-radius:10px;
    cursor:pointer;
    text-align:center;
    transition:all 0.3s;
    font-weight:500;
    font-size:0.95rem;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.type-btn:hover{
    background:rgba(0, 0, 0, 0.05);
    transform:translateY(-1px);
}

.type-btn.active{
    background:linear-gradient(45deg, var(--primary), var(--secondary));
    color:white;
    border-color:transparent;
    box-shadow:0 4px 12px rgba(var(--primary-rgb, 59, 130, 246), 0.2);
}

.action-buttons{
    display:flex;
    gap:10px;
    flex:0 0 auto;
}

.encrypt-btn{
    padding:12px 30px;
    border:none;
    background:linear-gradient(45deg, var(--primary), var(--secondary));
    color:white;
    border-radius:10px;
    cursor:pointer;
    font-weight:600;
    font-size:1rem;
    transition:all 0.3s;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    white-space:nowrap;
    box-shadow:0 4px 12px rgba(0, 0, 0, 0.1);
}

.encrypt-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 6px 20px rgba(0, 0, 0, 0.15);
}

.result-actions{
    display:flex;
    justify-content:flex-end;
    padding:10px 15px;
    background:rgba(0, 0, 0, 0.02);
    border-top:1px solid var(--border);
}

.copy-btn{
    padding:10px 25px;
    background:var(--primary);
    color:white;
    border:none;
    border-radius:10px;
    cursor:pointer;
    font-size:0.95rem;
    font-weight:500;
    transition:all 0.3s;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
    min-width:100px;
}

.copy-btn:hover{
    background:var(--secondary);
    transform:translateY(-1px);
    box-shadow:0 4px 12px rgba(0, 0, 0, 0.1);
}

.copy-btn.copied{
    background:#10b981;
    box-shadow:0 4px 12px rgba(16, 185, 129, 0.2);
}

.copy-btn.copied::after{
    content:' ✓';
    font-weight:bold;
    margin-left:2px;
}
.modal-overlay{
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    background:rgba(0, 0, 0, 0.6);
    display:flex;
    justify-content:center;
    align-items:center;
    z-index:2000;
    opacity:0;
    visibility:hidden;
    transition:all 0.3s ease;
}

.modal-overlay.active{
    opacity:1;
    visibility:visible;
}

.key-modal{
    background:var(--card-bg);
    border-radius:20px;
    padding:35px;
    width:90%;
    max-width:450px;
    box-shadow:0 20px 60px rgba(0, 0, 0, 0.2);
    border:1px solid var(--border);
    text-align:center;
    position:relative;
    transform:translateY(20px);
    transition:transform 0.3s ease;
}

.modal-overlay.active .key-modal{
    transform:translateY(0);
}

.modal-header{
    margin-bottom:25px;
}

.modal-title{
    font-size:1.6rem;
    font-weight:700;
    background:linear-gradient(45deg, var(--primary), var(--secondary));
    -webkit-background-clip:text;
    -webkit-text-fill-color:transparent;
    background-clip:text;
    margin-bottom:8px;
}

.modal-subtitle{
    color:var(--text-color);
    opacity:0.8;
    font-size:0.95rem;
}

.qr-image{
    width:150px;
    height:150px;
    object-fit:contain;
}

.qr-container{
    width:180px;
    height:180px;
    margin:0 auto 20px;
    padding:15px;
    background:white;
    border-radius:12px;
    border:1px solid var(--border);
    display:flex;
    align-items:center;
    justify-content:center;
}

.qr-placeholder{
    width:100%;
    height:100%;
    background:white;
    border-radius:8px;
    display:flex;
    flex-direction:column;
    align-items:center;
    justify-content:center;
    color:#888;
    font-size:0.9rem;
}

.qr-placeholder i{
    display:none;
}

.modal-content{
    margin-bottom:25px;
}

.modal-step{
    display:none;
}

.modal-step.active{
    display:block;
}

.step-text{
    color:var(--text-color);
    opacity:0.85;
    font-size:0.95rem;
    line-height:1.6;
    margin:12px 0 0;
    padding-left:20px;
    list-style:disc inside;
    text-align:left;
    max-width:100%;
    word-break:break-word;
}

.step-text li{
    margin-bottom:10px;
}

.key-input{
    width:100%;
    padding:15px 20px;
    border:2px solid var(--border);
    border-radius:12px;
    background:var(--card-bg);
    color:var(--text-color);
    font-size:1rem;
    transition:all 0.3s;
    outline:none;
    margin-bottom:20px;
}

.key-input:focus{
    border-color:var(--primary);
    box-shadow:0 0 0 3px rgba(var(--primary-rgb, 59, 130, 246), 0.1);
}

.modal-buttons{
    display:flex;
    gap:12px;
}

.modal-btn{
    flex:1;
    padding:14px 20px;
    border:none;
    border-radius:12px;
    font-weight:600;
    font-size:1rem;
    cursor:pointer;
    transition:all 0.3s;
    display:flex;
    align-items:center;
    justify-content:center;
    gap:8px;
}

.modal-btn-primary{
    background:linear-gradient(45deg, var(--primary), var(--secondary));
    color:white;
}

.modal-btn-secondary{
    background:var(--card-bg);
    color:var(--text-color);
    border:1px solid var(--border);
}

.modal-btn:hover{
    transform:translateY(-2px);
    box-shadow:0 4px 12px rgba(0, 0, 0, 0.1);
}

.modal-btn:active{
    transform:translateY(0);
}

.modal-btn-primary:hover{
    box-shadow:0 4px 12px rgba(var(--primary-rgb, 59, 130, 246), 0.2);
}

.close-btn{
    position:absolute;
    top:20px;
    right:20px;
    background:none;
    border:none;
    color:var(--text-color);
    font-size:1.2rem;
    cursor:pointer;
    opacity:0.6;
    transition:opacity 0.3s;
}

.close-btn:hover{
    opacity:1;
}

.error-message{
    color:#ef4444;
    font-size:0.9rem;
    margin-top:8px;
    display:none;
}

.error-message.show{
    display:block;
}
footer{
    text-align:center;
    padding:30px 0;
    margin-top:50px;
    border-top:1px solid var(--border);
}

.footer-text{
    opacity:0.7;
    font-size:0.9rem;
}
.protect-options{
    display:flex;
    flex-direction:column;
    gap:15px;
    margin:20px 0;
}

.protect-option{
    display:flex;
    align-items:flex-start;
    padding:20px;
    background:var(--card-bg);
    border:2px solid var(--border);
    border-radius:15px;
    cursor:pointer;
    transition:all 0.3s ease;
    position:relative;
}

.protect-option:hover{
    transform:translateY(-2px);
    border-color:var(--primary);
    box-shadow:0 5px 20px var(--shadow);
}

.protect-option.selected{
    border-color:var(--primary);
    background:rgba(var(--primary-rgb, 59, 130, 246), 0.05);
    box-shadow:0 0 0 3px rgba(var(--primary-rgb, 59, 130, 246), 0.1);
}

.option-icon{
    width:50px;
    height:50px;
    background:linear-gradient(45deg, var(--primary), var(--secondary));
    border-radius:12px;
    display:flex;
    align-items:center;
    justify-content:center;
    margin-right:20px;
    flex-shrink:0;
}

.option-icon i{
    color:white;
    font-size:1.5rem;
}

.option-content{
    flex:1;
    text-align:left;
}

.option-content h3{
    margin-top:0;
    font-size:1.2rem;
    font-weight:600;
    margin-bottom:8px;
    color:var(--text-color);
}

.option-content p{
    font-size:0.9rem;
    color:var(--text-color);
    opacity:0.8;
    line-height:1.5;
    margin:0;
}

.feature-list{
    list-style:none;
    padding:0;
    margin:0;
}

.feature-list li{
    display:flex;
    align-items:flex-start;
    margin-bottom:8px;
    color:var(--text-color);
    font-size:15px;
    line-height:1.5;
    text-align:left;
}

.feature-list li:last-child{
    margin-bottom:0;
}

.feature-icon{
    color:var(--primary);
    margin-right:10px;
    font-size:12px;
    margin-top:5px;
    flex-shrink:0;
}

.feature-text{
    color:var(--text-color);
    text-align:left;
    flex:1;
}

.option-select{
    width:30px;
    height:30px;
    display:flex;
    align-items:center;
    justify-content:center;
    opacity:0;
    transition:opacity 0.3s;
}

.option-select i{
    color:var(--primary);
    font-size:1.2rem;
}

.protect-option.selected .option-select{
    opacity:1;
}

.level-tag{
    display:inline-block;
    margin-top:8px;
    padding:4px 12px;
    background:var(--primary);
    color:white;
    border-radius:20px;
    font-size:0.8rem;
    font-weight:500;
}
#jsProtectModal .key-modal{
    max-width:600px;
}

#jsProtectModal .modal-header{
    text-align:center;
    margin-bottom:30px;
    padding-bottom:20px;
    border-bottom:1px solid #f0f0f0;
}

#jsProtectModal .modal-subtitle{
    max-width:80%;
    margin:0 auto;
}

#jsProtectModal .protect-option{
    align-items:center;
}

#jsProtectModal .protect-option.active,
#jsProtectModal .protect-option.selected{
    border-color:var(--primary);
    background:rgba(var(--primary-rgb, 59, 130, 246), 0.05);
    box-shadow:0 0 0 3px rgba(var(--primary-rgb, 59, 130, 246), 0.1);
}

#jsProtectModal .protect-option.active .option-select,
#jsProtectModal .protect-option.selected .option-select{
    opacity:1;
}

#jsProtectModal .option-icon{
    border-radius:12px;
}

#jsProtectModal .protect-option[data-level="low"] .option-icon{
    background:linear-gradient(45deg, #10b981, #34d399);
}

#jsProtectModal .protect-option[data-level="medium"] .option-icon{
    background:linear-gradient(45deg, #f59e0b, #fbbf24);
}

#jsProtectModal .protect-option[data-level="high"] .option-icon{
    background:linear-gradient(45deg, #ef4444, #f87171);
}

#jsProtectModal .protect-option[data-level="low"] .feature-icon{
    color:#10b981;
}

#jsProtectModal .protect-option[data-level="medium"] .feature-icon{
    color:#f59e0b;
}

#jsProtectModal .protect-option[data-level="high"] .feature-icon{
    color:#ef4444;
}

#jsProtectModal .feature-detail{
    display:block;
    font-size:13px;
    color:var(--text-color);
    margin-top:2px;
}

#jsProtectModal .level-tag{
    display:inline-block;
    margin-top:8px;
    padding:4px 12px;
    border-radius:20px;
    font-size:0.8rem;
    font-weight:500;
}

#jsProtectModal .protect-option[data-level="low"] .level-tag{
    background:rgba(16, 185, 129, 0.1);
    color:#10b981;
}

#jsProtectModal .protect-option[data-level="medium"] .level-tag{
    background:rgba(245, 158, 11, 0.1);
    color:#f59e0b;
}

#jsProtectModal .protect-option[data-level="high"] .level-tag{
    background:rgba(239, 68, 68, 0.1);
    color:#ef4444;
}

#jsProtectModal .protection-info{
    background-color:#f8fafc;
    border:1px solid #e2e8f0;
    border-radius:10px;
    padding:12px 16px;
    margin-top:10px;
    display:flex;
    align-items:flex-start;
    gap:10px;
}

#jsProtectModal .protection-info i{
    color:#8b5cf6;
    font-size:16px;
    margin-top:2px;
}

#jsProtectModal .protection-text{
    color:#475569;
    font-size:13px;
    line-height:1.5;
    flex:1;
    text-align:left;
}

#jsProtectModal .protection-text .highlight{
    color:#8b5cf6;
    font-weight:600;
}

@media (max-width: 640px){
    #jsProtectModal .key-modal{
        max-width:95%;
        padding:20px;
        border-radius:16px;
    }

    #jsProtectModal .modal-title{
        font-size:24px;
    }

    #jsProtectModal .protect-option{
        flex-direction:column;
        align-items:flex-start;
    }

    #jsProtectModal .option-icon{
        margin-right:0;
        margin-bottom:15px;
    }

    #jsProtectModal .option-select{
        position:absolute;
        top:20px;
        right:20px;
    }

    #jsProtectModal .modal-buttons{
        flex-direction:column;
    }

    #jsProtectModal .modal-btn{
        width:100%;
    }
}
@media (max-width: 768px){
    .container{
        padding:120px 15px 30px;
    }

    .logo{
        font-size:2.5rem;
    }

    .tool-container{
        gap:20px;
    }

    .theme-selector{
        top:10px;
        right:10px;
    }

    .theme-toggle{
        padding:8px 16px;
        font-size:0.85rem;
    }

    .theme-dropdown{
        width:160px;
        grid-template-columns:1fr;
    }

    .navbar-links{
        display:none;
    }

    .tab-btn{
        padding:12px 15px;
        font-size:0.9rem;
    }

    .button-container{
        flex-direction:column;
    }

    .action-buttons{
        width:100%;
    }

    .encrypt-btn{
        width:100%;
        justify-content:center;
    }

    .type-buttons{
        min-width:100%;
    }

    .key-modal{
        padding:25px;
        width:95%;
    }

    .modal-buttons{
        flex-direction:column;
    }
}

@media (max-width: 480px){
    .logo{
        font-size:2rem;
    }

    .tool-section{
        padding:20px;
    }

    .code-area{
        height:250px;
    }

    .type-btn,
    .encrypt-btn,
    .copy-btn{
        padding:10px 15px;
        font-size:0.9rem;
    }

    .modal-title{
        font-size:1.4rem;
    }

    .qr-container{
        width:150px;
        height:150px;
    }

    .qr-placeholder i{
        font-size:2rem;
    }
}
#htmlProtectModal .key-modal,
#jsProtectModal .key-modal{
    max-height:90vh;
    display:flex;
    flex-direction:column;
    overflow:hidden;
}

#htmlProtectModal .modal-content,
#jsProtectModal .modal-content{
    flex:1;
    overflow-y:auto;
    -webkit-overflow-scrolling:touch;
    scrollbar-width:none;
    -ms-overflow-style:none;
}

#htmlProtectModal .modal-content::-webkit-scrollbar,
#jsProtectModal .modal-content::-webkit-scrollbar{
    display:none;
}

#loadingText{
    color:#000000 !important;
}
.toast-container{
    position:fixed;
    top:20px;
    right:20px;
    z-index:1060;
    min-width:320px;
    display:flex;
    flex-direction:column;
    align-items:flex-end;
    gap:8px;
    pointer-events:none;
}

.toast{
    pointer-events:auto;
    width:320px;
    border-radius:10px;
    box-shadow:0 4px 15px var(--shadow);
    overflow:hidden;
    margin:0;
    background:var(--card-bg);
    border:1px solid var(--border);
    color:var(--text-color);
}

.toast .toast-header{
    display:flex;
    align-items:center;
    justify-content:space-between;
    gap:0.5rem;
    padding:0.5rem 0.75rem;
    font-weight:600;
    background:var(--card-bg);
    color:var(--text-color);
    border-bottom:1px solid var(--border);
}

.toast .toast-body{
    padding:0.75rem;
    font-size:0.95rem;
    color:var(--text-color);
}

.toast-success.toast-header,
.toast.toast-success .toast-header{
    background-color:#198754 !important;
    color:#fff !important;
    border-bottom-color:rgba(255, 255, 255, 0.15);
}

.toast-warning.toast-header,
.toast.toast-warning .toast-header{
    background-color:#ffc107 !important;
    color:#212529 !important;
    border-bottom-color:rgba(0, 0, 0, 0.08);
}

.toast-danger.toast-header,
.toast.toast-danger .toast-header{
    background-color:#dc3545 !important;
    color:#fff !important;
    border-bottom-color:rgba(255, 255, 255, 0.15);
}

.toast-info.toast-header,
.toast.toast-info .toast-header{
    background-color:var(--primary) !important;
    color:#fff !important;
    border-bottom-color:rgba(255, 255, 255, 0.15);
}

.toast .btn-close{
    opacity:0.9;
}

.toast-success .btn-close,
.toast-success.toast-header .btn-close,
.toast-danger .btn-close,
.toast-danger.toast-header .btn-close,
.toast-info .btn-close,
.toast-info.toast-header .btn-close{
    filter:invert(1) brightness(2);
}

.toast-warning .btn-close,
.toast-warning.toast-header .btn-close{
    filter:none;
}

.toast .toast-header strong{
    display:inline-block;
    max-width:70%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}

.toast[hidden]{
    display:none !important;
}
