 /* --- 左侧面板样式 (数据区) --- */
        .left-panel {
            background: #fff;
            overflow-y: auto; /* 允许垂直滚动 */
            padding: 20px;
            color: #eee;
            max-height: 358px;
        }

        .panel-card {
            background: #fff;
                border: 1px dashed #ccc;
            border-radius: 8px;
            padding: 15px;
            margin-bottom: 5px;
        }

        h3 { font-size: 18px; border-bottom: 1px solid #e2e2e2; padding-bottom: 10px; margin-bottom: 15px; color: #000; }

        /* 表格样式优化 */
        .file-table { width: 100%; border-collapse: collapse; font-size: 13px; }
        .file-table th { text-align: left; color: #aaa; padding: 8px; border-bottom: 1px solid #555; }
        .file-table td { padding: 8px; border-bottom: 1px solid #333; color: #ccc; }
        .type-badge { padding: 3px 8px; border-radius: 4px; font-size: 11px; background: #444; color: #fff; display: inline-block; min-width: 60px; text-align: center; }
        .bg-copper { background: #d35400; }
        .bg-drill { background: #2980b9; }
        .bg-silk { background: #8e44ad; }

        /* 统计数据样式 */
        .stat-grid { display: grid; grid-template-columns: repeat(auto-fill, minmax(200px, 1fr)); gap: 15px; }
        .stat-item { background: #fff; padding: 10px; border-radius: 6px; }
        .stat-label { color: #000; font-size: 12px; display: block; }
        .stat-value { font-weight: bold; color: #000; font-size: 16px; display: block; margin-top: 4px; }
        .highlight { color: #4caf50; }

        /* 按钮样式 */
        .btn-custom { 
            background: linear-gradient(135deg, #007bff, #0056b3); 
            color: white; border: none; padding: 10px 20px; 
            border-radius: 6px; font-weight: bold; width: 100%;
        }
        .btn-custom:hover { color: white; transform: translateY(-1px); box-shadow: 0 4px 12px rgba(0,123,255,0.3); }

        /* --- 右侧面板样式 (3D 视图) --- */
        /* --- 右侧面板样式 (3D 视图) --- */
       /* 修改 .right-panel 样式 */
.right-panel {
    position: relative;
    /* ★★★ 核心修改：这里直接写死 318px ★★★ */
    padding: 0;
    background: #fff;
    overflow: hidden;
    display: flex;
    flex-direction: column;
    transition: all 0.2s ease;
    z-index: 10;
    border: 1px solid #e2e2e2;
}

/* 全屏模式样式保持不变 */
/* ★★★ 修正后的网页内全屏模式 ★★★ */
.right-panel.maximize-mode {
    position: fixed !important;
    top: 0 !important;
    left: 0 !important;
    right: 0 !important; /* 强制拉伸 */
    bottom: 0 !important; /* 强制拉伸 */
    
    width: 100vw !important;  /* 强制宽度 100% 视口 */
    height: 100vh !important; /* 强制高度 100% 视口 */
    
    /* ↓↓↓↓↓ 关键修正 ↓↓↓↓↓ */
    max-width: none !important; /* 覆盖 col-lg-4 的最大宽度限制 */
    flex: none !important;      /* 覆盖 col-lg-4 的 flex 比例限制 */
    padding: 0 !important;      /* 去掉 col 自带的左右内边距 */
    margin: 0 !important;       /* 去掉可能存在的 margin */
    /* ↑↑↑↑↑ 关键修正 ↑↑↑↑↑ */

    z-index: 99999 !important;  /* 层级最高 */
    background: #000;           /* 防止透明背景看到下面的字 */
    border-radius: 0 !important;
}

        /* 3D 画布容器 */
        #canvas-container {
            
            flex: 1; /* 确保占满剩余空间 */
        }

        /* 3D 画布容器 */
        #canvas-container {
           
            padding: 2px;
        }
        
        #render-canvas { display: block; width: 100%; height: 100%; }

        /* --- 悬浮在右侧的 UI --- */
        
        /* 全屏按钮 */
        #btn-fullscreen {
            position: absolute; top: 15px; right: 15px; z-index: 20;
            background: rgba(0,0,0,0.5); color: #fff; border: 1px solid rgba(255,255,255,0.2);
            padding: 8px 12px; border-radius: 4px; cursor: pointer; transition: 0.2s;
        }
        #btn-fullscreen:hover { background: rgba(255,255,255,0.2); }

        /* 水印 */
        #brand-watermark {
            position: absolute; bottom: 80px; right: 20px; z-index: 5;
            font-size: 3rem; font-weight: 900; font-family: 'Impact', sans-serif;
            color: rgba(255, 255, 255, 0.05);
            pointer-events: none; user-select: none;
            white-space: nowrap;
        }

        /* 底部工具栏 */
        #toolbar {
            position: absolute; bottom: 20px; left: 50%; transform: translateX(-50%);
            z-index: 20; background: rgba(30, 30, 30, 0.9);
            padding: 8px 15px; border-radius: 30px;
            display: flex; align-items: center; gap: 10px;
            border: 1px solid rgba(255,255,255,0.1); backdrop-filter: blur(5px);
        }
        .tool-btn {
            background: transparent; color: #aaa; border: none; cursor: pointer;
            padding: 6px 12px; border-radius: 20px; font-size: 13px; font-weight: bold;
            display: flex; align-items: center; gap: 5px; transition: 0.2s;
            white-space: nowrap;
        }
        .tool-btn:hover { color: #fff; background: rgba(255,255,255,0.1); }
        .tool-btn.active { background: #007bff; color: #fff; }
        .separator { width: 1px; height: 16px; background: #555; margin: 0 5px; }

        /* 鼠标提示 */
        #mouse-hint {
            position: absolute; bottom: 15px; left: 50%; transform: translateX(-50%);
            color: rgba(255,255,255,0.5); font-size: 11px; pointer-events: none;
            text-shadow: 0 1px 2px #000; width: 100%; text-align: center;
        }

        /* 状态加载 */
        .loading-text { color: #aaa; font-size: 14px; margin-top: 10px; text-align: center; }
        .error { color: #ff6b6b; }
    /* 自定义导航按钮样式 - 模仿截图效果 */
    .nav-custom-container {
        /* 如果背景图比较暗，这里不需要设背景色；如果是白底，可能需要加个深色条 */
        padding-top: 10px;
    }

    .nav-custom-link {
        display: inline-flex;
        align-items: center;
        padding: 10px 20px;
        margin-right: 5px;
        font-size: 15px;
        text-decoration: none;
        color: #ddd; /* 未选中文字颜色：浅灰 */
        background-color: rgba(0, 0, 0, 0.6); /* 未选中背景：深色半透明 */
        border-radius: 20px 20px 0 0; /* 只有上方圆角，下方直角，类似文件夹标签 */
        /* 或者如果想要截图那种完全圆角的胶囊形，可以用 border-radius: 50px; */
        border-radius: 50px; 
        transition: all 0.3s ease;
        border: 1px solid transparent;
        
        
        
        background-color: rgba(0, 0, 0, 0.6); /* 未选中背景：深色半透明 */
        color: #ddd; /* 未选中文字颜色：浅灰 */
    font-weight: bold;
    border-radius: 10px 10px 0 0;
    border-top: 3px solid #5cb85c;
    border-bottom: 1px solid #fff;
    position: relative;
    bottom: -1px;
    box-shadow: 0 -2px 5px rgba(0, 0, 0, 0.05);
    }

    .nav-custom-link img {
        width: 20px;
        height: 20px;
        margin-right: 8px;
        object-fit: contain;
        /* 如果图标是黑色的，未选中时可能需要反白，如果图标本身彩色则忽略下面这行 */
        /* filter: invert(1) brightness(2); */ 
    }

    /* 鼠标悬停样式 */
    .nav-custom-link:hover {
        background-color: rgba(255, 255, 255, 0.2);
        color: #fff;
    }

    /* 激活/选中状态样式 */
    .nav-custom-link.active {
        background-color: #fff; /* 白色背景 */
        color: #333; /* 深色文字 */
        font-weight: bold;
        border-radius: 10px 10px 0 0; /* 选中变成上方圆角，下方直角，与内容融合 */
        border-top: 3px solid #5cb85c; /* 顶部绿色高亮条 (Bootstrap success色) */
        border-bottom: 1px solid #fff; /* 遮住下边框线，实现融合效果 */
        position: relative;
        bottom: -1px; /* 微调位置，盖住下方的线 */
        box-shadow: 0 -2px 5px rgba(0,0,0,0.05);
    }
    i.fr4.me-2 {
    display: inline-block;
    vertical-align: middle;
    width: 24px;
    height: 24px;
    margin-right: 5px;
    margin-top: -2px;
    background: url(/img/Pcb_title@ico.png);
}.form-control, .form-control-sm-custom, input[type="number"] {
    border-radius: 2px !important;
    border: 1px solid #dcdfe6;
    height: 36px;
    line-height: 32px;
    font-size: 12px;
    padding: 0 10px;
    box-shadow: none !important;
}