.container{
    background:#fff;
    border-radius:8px;
    box-shadow:0 2px 10px rgba(0, 0, 0, 0.1);
    margin:auto;
    max-width:900px;
    padding:20px;
}
h2{
    color:#333;
    font-size:2.5rem;
    margin-bottom:20px;
    text-align:center;
}
h4{
    color:#555;
    font-size:1.8rem;
    margin-bottom:10px;
}
input[type="text"],
select{
    border:1px solid #ccc;
    border-radius:4px;
    box-sizing:border-box;
    font-size:1rem;
    padding:10px;
    width:100%;
}
#searchBtnDiv{
    margin-top:15px;
}
#db-pagination-top{
    margin-left:10px;
}
.btnCustom{
    background:#e8f1ff;
    border:none;
    border-radius:8px;
    color:#2563eb;
    cursor:pointer;
    font-size:1rem;
    margin-right:10px;
    height:34px;
    padding:0 16px;
    transition:background 0.3s ease, transform 0.2s ease;
}
.btnCustom:hover{
    background:#dbeafe;
}
.searchResult{
    background:#f9f9f9;
    border-radius:6px;
    box-shadow:0 2px 6px rgba(0, 0, 0, 0.1);
    display:none;
    margin:20px auto;
    max-width:900px;
    padding:15px;
    position:relative;
    text-align:left;
}
.resultHtmlBox{
    background:#f8f9fa;
    border-radius:4px;
    box-shadow:0 2px 4px rgba(0, 0, 0, 0.1);
    margin:10px;
    padding:10px;
    position:relative;
}
.resultHtmlBox:hover{
    background:#f0f8ff;
    box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);
}
.resultHtmlTitle{
    color:#007bff;
    cursor:pointer;
    display:inline-block;
    font-size:1.2rem;
    font-weight:600;
    width:91%;
}
.resultHtmlTitle:hover{
    text-decoration:underline;
}
.resultHtmlHigh{
    color:#797979;
    font-size:16px;
    margin:2px;
    -webkit-box-orient:vertical;
    display:-webkit-box;
    -webkit-line-clamp:8;
    overflow:hidden;
    text-overflow:ellipsis;
}
#resultTools{
    min-height:40px;
    position:relative;
    margin:0 10px 0 10px;
    line-height:40px;
}
#resultTools > *{
    display:inline-block;
    vertical-align:middle;
    margin-right:8px;
}
#dbCountText{
    margin:0 4px 0 0;
}
#db-loading{
    color:#007bff;
    font-size:14px;
    font-weight:bold;
    position:absolute;
    left:0;
}
#db-loading span::after{
    animation:dots 1.5s infinite steps(3);
    content:"";
}
#resultToolBtns{
    position:absolute;
    right:0;
    top:50%;
    transform:translateY(-50%);
    display:grid;
    grid-auto-flow:column;
    gap:8px;
}
#editAiPromptBtn, #aiSumUpAll, #aiSumUpUnprocessed{
    border-radius:6px;
    color:#3964fe;
    cursor:pointer;
    font-size:14px;
    padding:2px 8px;
    user-select:none;
    white-space:nowrap;
    background:none;
    transition:all 0.15s;
    height:34px;
    line-height:34px;
}
#editAiPromptBtn:hover, #aiSumUpAll:hover, #aiSumUpUnprocessed:hover{
    background:#dbeafe;
}
#editAiPromptBtn:active, #aiSumUpAll:active, #aiSumUpUnprocessed:active{
    transform:scale(.97);
}
#aiSumUpAll:active, #editAiPromptBtn:active{
    background:#93c1ff;
}
.importActions{
    margin:10px 0;
    white-space:nowrap;
}
.importBatchInput,
.importFileLabel,
.importBatchSelect{
    box-sizing:border-box;
    font-size:13px;
    height:34px;
    line-height:34px;
    vertical-align:middle;
}
.importBatchInput{
    border:1px solid #e2e8f0;
    border-radius:6px;
    color:#0f172a;
    outline:none;
    padding:0 10px;
    width:180px;
}
.importBatchInput:focus{
    border-color:#3964fe;
}
.importFileLabel{
    background:#e8f1ff;
    border:none;
    border-radius:8px;
    color:#2563eb;
    cursor:pointer;
    display:inline-block;
    font-size:13px;
    height:34px;
    line-height:34px;
    margin-left:8px;
    padding:0 14px;
    transition:background 0.3s ease,transform 0.2s ease;
    vertical-align:middle;
}
.importFileLabel:hover{
    background:#dbeafe;
}
#importBatchFile{
    display:none;
}
#importFileName{
    color:#475569;
    font-size:12px;
    margin-left:6px;
    vertical-align:middle;
}
.importBatchSelect{
    border:1px solid #e2e8f0;
    border-radius:6px;
    color:#0f172a;
    outline:none;
    padding:0 8px;
    width:150px;
}
.importBatchSelect:focus{
    border-color:#3964fe;
}
.btnImport, .btnDelete{
    background:#e8f1ff;
    border:none;
    border-radius:8px;
    color:#2563eb;
    cursor:pointer;
    font-size:13px;
    height:34px;
    line-height:34px;
    margin-left:8px;
    padding:0 14px;
    transition:background 0.3s ease,transform 0.2s ease;
    vertical-align:middle;
}
.btnImport:hover, .btnDelete:hover{
    background:#dbeafe;
}
.btnImport:active, .btnDelete:active{
    transform:scale(.97);
}
.searchBox{
    border-radius:8px;
    box-shadow:0 2px 10px rgba(0, 0, 0, 0.1);
    padding:20px;
    max-width:900px;
    margin:20px auto;
}
.form-control{
    border:1px solid #cccccc;
    border-radius:4px;
    box-sizing:border-box;
    font-size:1rem;
    padding:12px 15px;
    transition:border-color 0.3s ease;
    width:100%;
}
.keywordPanel{
    border:1px solid #e2e8f0;
    border-radius:8px;
    display:none;
    padding:6px 10px;
    margin:0 10px;
    overflow-wrap:anywhere;
}
.keywordPanelToggle{
    display:block;
    width:100%;
    height:34px;
    border:0;
    border-radius:8px;
    background:transparent;
    color:#64748b;
    cursor:pointer;
    text-align:right;
    font:inherit;
    font-size:14px;
}
.keywordPanelToggle:hover{
    background:#f1f5f9;
}
#caseKeywordList{
    padding:10px;
    position:relative;
}
#optionalKeyWords{
    max-height:220px;
    overflow-y:auto;
}
#caseKeyword:focus{
    border-color:#007bff;
    outline:none;
}
.tagCategoryBar{
    bottom:10px;
    display:block;
    margin:10px 0;
    position:relative;
    z-index:20;
}
.tagCategoryWrapper{
    border-radius:6px;
    padding:12px 0 0 0;
}
.tagCategoryBtn{
    border-bottom:none;
    color:#007bff;
    cursor:pointer;
    font-size:16px;
    font-weight:bold;
    margin-right:20px;
    position:relative;
}
.tagCategoryBtn:hover{
    border-bottom:2px solid #007bff;
    color:#0052b5;
}
.tagCategoryBtn.tagActive{
    border-bottom:2px solid #007bff;
    color:#0052b5;
}
.keywordBtn, .keywordsSectionListBtn{
    cursor:pointer;
    display:inline-block;
    font-size:15px;
    height:34px;
    line-height:34px;
    margin:3px 10px 3px 0;
    padding:2px;
}
.keywordBtn:hover, .keywordsSectionListBtn:hover{
    background:#e0e0e0;
}
.keywordBtn.keywordBtnActive{
    background:#c2bfbf;
}
#caseKeywordList > button{
    background:#dbeafe;
    border:1px solid;
    border-radius:8px;
    color:#4d6bfe;
    cursor:pointer;
    font-size:11px;
    margin:1px 1px;
    padding:4px;
    user-select:none;
}
.keywordsSectionList{
    display:inline-block;
}
.keywordsSection{
    line-height:40px;
    min-height:40px;
}
.keywordsSection > *{
    vertical-align:top;
}
.keywordsSection .addOrEmpBtn{
    background:none;
    border:none;
    color:blue;
    cursor:pointer;
    margin:0;
    padding:0;
}
.aiSumUpItem{
    background:none;
    border:none;
    border-radius:8px;
    color:#4d6bfe;
    cursor:pointer;
    font-size:12px;
    padding:5px;
    position:absolute;
    right:1%;
    user-select:none;
}
.aiSumUpItem:hover{
    background:#b9d7ff;
}
.aiSumUpItem:active{
    background:#93c1ff;
}
.resultHtmlHigh.ai-active{
    display:block;
    overflow-y:auto;
}
.resultHtmlHigh.ai-active::-webkit-scrollbar{
    width:4px;
}
.resultHtmlHigh.ai-active::-webkit-scrollbar-thumb{
    background:#c1c1c1;
    border-radius:2px;
}
.aiSumUpItemPrompt{
    color:#94a3b8;
    font-size:12px;
    max-width:100%;
    overflow:hidden;
    text-overflow:ellipsis;
    white-space:nowrap;
}
.aiSumUpItemAnswer{
    color:#ff0000;
    white-space:pre-wrap;
}
.aiSumUpItemLoading::after{
    animation:dots 1.5s infinite steps(3);
    content:"";
}
.paginationjs > :first-child{
    padding-left:0;
    margin:0;
}
#db-pagination{
    margin-left:10px;
}
@keyframes dots{
    0%{
        content:"";
    }
    33%{
        content:".";
    }
    66%{
        content:"..";
    }
    100%{
        content:"...";
    }
}
@media (max-width:600px){
    .searchResult{
        background:none;
        border:none;
        border-radius:0;
        box-shadow:none;
        margin:0 auto;
        padding:10px 0;
        width:100%;
    }
    #resultTools{
        white-space:normal;
        line-height:normal;
        display:block;
        margin:0;
    }
    #resultTools > *{
        margin-right:4px;
    }
    #dbCountText, #dbCount{
        font-size:13px;
        line-height:28px;
    }
    #dbCountText{
        display:inline-block;
        margin:0;
    }
    #resultToolBtns{
        position:static;
        transform:none;
        margin-top:4px;
        width:100%;
        display:grid;
        grid-auto-flow:row;
        grid-template-columns:repeat(auto-fit, minmax(120px, 1fr));
        gap:6px;
    }
    #editAiPromptBtn, #aiSumUpAll, #aiSumUpUnprocessed{
        font-size:12px;
        padding:0 10px 0 0;
        height:28px;
        line-height:28px;
    }
    .resultHtmlBox{
        background:white;
        margin:10px 0;
        position:relative;
    }
    .resultHtmlBox:hover{
        background:#f0f8ff;
        box-shadow:0 4px 12px rgba(0, 0, 0, 0.15);
    }
    #db-pagination-top{
        display:none;
    }
    .formGroup{
        display:inline-block;
        width:100%;
    }
    #searchBtnDiv{
        display:grid;
        grid-template-columns:repeat(3, minmax(0, 1fr));
        gap:6px;
    }
    .btnCustom{
        box-sizing:border-box;
        min-width:0;
        height:34px;
        font-size:13px;
        line-height:34px;
        margin:0;
        padding:0 6px;
        border-radius:8px;
        white-space:nowrap;
    }
    .searchBox{
        box-sizing:border-box;
        padding:12px;
        width:100%;
    }
    .importActions{
        white-space:normal;
    }
    .importBatchInput, .importBatchSelect{
        width:100%;
        margin:4px 0;
    }
    #importFileName{
        display:inline-block;
        max-width:100%;
        overflow-wrap:anywhere;
    }
    .resultHtmlTitle{
        color:#007bff;
        cursor:pointer;
        display:inline-block;
        font-size:16px;
        font-weight:600;
        width:80%;
    }
    .aiSumUpItem{
        right:0px;
    }
    #db-loading{
        padding:0px 0;
        position:relative;
    }
    .tagCategoryBtn{
        border-bottom:none;
        color:#007bff;
        cursor:pointer;
        font-size:14px;
        font-weight:bold;
        margin-right:9px;
        position:relative;
    }
    .tagCategoryBar{
        bottom:10px;
        display:block;
        margin:0;
        position:relative;
        z-index:20;
    }
    .keywordPanel{
        font-size:13px;
        margin:0;
    }
    .keywordBtn, .keywordsSectionListBtn{
        background:white;
        cursor:pointer;
        display:inline-block;
        font-size:13px;
        height:20px;
        line-height:20px;
        margin:1px 3px 3px 0;
        padding:2px;
        position:relative;
        z-index:1;
    }
    .keywordsSection{
        line-height:30px;
        min-height:30px;
    }
    .keywordsSection .addOrEmpBtn{
        font-size:13px;
    }
    .keywordBtn:hover, .keywordsSectionListBtn:hover{
        background:none;
    }
    .keywordBtn.keywordBtnActive{
        background:#c2bfbf;
        border-radius:4px;
    }
    #fabaoAiWrap{
        display:none;
    }
}
.aiPromptModalMask{
    background:rgba(0, 0, 0, 0.55);
    position:fixed;
    top:0;
    left:0;
    right:0;
    bottom:0;
    z-index:99;
}
.aiPromptModal{
    background:#fff;
    border-radius:8px;
    box-shadow:0 10px 30px rgba(0, 0, 0, 0.2);
    max-width:520px;
    padding:16px;
    width:90%;
    position:absolute;
    top:50%;
    left:50%;
    transform:translate(-50%, -50%);
}
.aiPromptModalHeader{
    font-weight:bold;
    margin-bottom:10px;
    overflow:hidden;
}
.aiPromptModalHeader span:first-child{
    float:left;
    line-height:28px;
}
.aiPromptModalClose{
    cursor:pointer;
    font-size:20px;
    line-height:1;
    padding:4px;
    float:right;
}
.aiPromptModalTextarea{
    border:1px solid #d0d7de;
    border-radius:6px;
    box-sizing:border-box;
    font-family:inherit;
    font-size:14px;
    min-height:160px;
    padding:10px;
    resize:vertical;
    width:100%;
}
.aiPromptModalActions{
    text-align:right;
    margin-top:12px;
}
.aiPromptModalActions button{
    display:inline-block;
    margin-left:8px;
    vertical-align:middle;
}
.caseAdminOnly{display:none}
