@import url('shared.css');

.sidebar{width:220px;height:100%;background:#fff;color:#666;display:flex;flex-direction:column;transition:width .3s;flex-shrink:0;overflow:hidden;border-right:1px solid #E8E8E8}
.sidebar.collapsed{width:64px}
.sidebar-logo{height:50px;display:flex;align-items:center;padding:0 16px;background:#fff;white-space:nowrap;overflow:hidden;border-bottom:1px solid #E8E8E8}
.sidebar-logo .logo-icon{width:32px;height:32px;background:#00B8A9;border-radius:6px;display:flex;align-items:center;justify-content:center;color:#fff;font-weight:700;font-size:16px;flex-shrink:0}
.sidebar-logo .logo-text{margin-left:10px;font-size:15px;font-weight:700;color:#333}
.sidebar.collapsed .logo-text{display:none}
.sidebar-nav{flex:1;overflow-y:auto;padding:8px 0}
.nav-group{margin-bottom:4px}
.nav-group-title{padding:8px 20px 4px;font-size:12px;color:#00B8A9;font-weight:600;letter-spacing:.5px}
.sidebar.collapsed .nav-group-title{display:none}
.nav-item{display:flex;align-items:center;padding:0 20px;height:40px;cursor:pointer;transition:all .2s;white-space:nowrap;overflow:hidden;border-left:3px solid transparent}
.nav-item:hover{background:#E6F9F7;color:#00B8A9}
.nav-item.active{background:#E6F9F7;color:#00B8A9;border-left-color:#00B8A9;font-weight:500}
.nav-item .nav-icon{width:20px;text-align:center;font-size:16px;flex-shrink:0}
.nav-item .nav-label{margin-left:10px;font-size:14px}
.sidebar.collapsed .nav-label{display:none}
.sidebar-toggle{height:44px;display:flex;align-items:center;justify-content:center;cursor:pointer;border-top:1px solid #E8E8E8;transition:background .2s;font-size:12px;color:#999}
.sidebar-toggle:hover{background:var(--color-bg-page)}

.header{height:auto;background:#fff;border-bottom:1px solid #E4E7ED;display:flex;flex-direction:column;flex-shrink:0}
.header-top{height:50px;display:flex;align-items:center;justify-content:space-between;padding:0 20px}
.breadcrumb{display:flex;align-items:center;gap:6px;color:#999;font-size:13px}
.breadcrumb .current{color:#333;font-weight:500}
.header-right{display:flex;align-items:center;gap:16px}
.header-right .search-box{position:relative}
.header-right .search-input{width:200px;height:32px;padding:0 12px 0 32px;border:1px solid #E4E7ED;border-radius:4px;outline:none;font-size:13px}
.header-right .search-input:focus{border-color:#00B8A9}
.header-right .search-icon{position:absolute;left:10px;top:50%;transform:translateY(-50%);color:#999;font-size:14px}
.user-info{display:flex;align-items:center;gap:8px;cursor:pointer}
.user-avatar{width:30px;height:30px;background:#00B8A9;border-radius:50%;display:flex;align-items:center;justify-content:center;color:#fff;font-size:12px;font-weight:500}

.role-switcher{display:flex;gap:8px;padding:8px 20px;background:#FAFAFA;border-bottom:1px solid #E8E8EF}
.role-btn{padding:6px 16px;border:1px solid #E8E8EF;border-radius:4px;background:#fff;cursor:pointer;font-size:13px;color:#666;transition:all .2s}
.role-btn:hover{border-color:#00B8A9;color:#00B8A9}
.role-btn.active{background:#00B8A9;border-color:#00B8A9;color:#fff}

.tree-panel{background:#fff;border:1px solid #E8E8EF;border-radius:6px;padding:12px}
.tree-header{display:flex;align-items:center;justify-content:space-between;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #F0F0F5}
.tree-header h4{font-size:14px;font-weight:600;color:#333}
.tree-node{padding:6px 8px;cursor:pointer;border-radius:4px;display:flex;align-items:center;gap:6px;font-size:13px;transition:background .15s}
.tree-node:hover{background:#E6F9F7}
.tree-node.active{background:#E6F9F7;color:#00B8A9}
.tree-icon{font-size:14px;flex-shrink:0}
.tree-label{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}
.tree-children{padding-left:20px}

.product-image-placeholder{width:120px;height:120px;background:#F5F6FA;border:2px dashed #E8E8EF;border-radius:8px;display:flex;flex-direction:column;align-items:center;justify-content:center;color:#999;font-size:12px;gap:8px}
.product-image-placeholder .img-icon{font-size:32px;color:#ccc}
.product-image-thumb{width:48px;height:48px;background:#F5F6FA;border:1px solid #E8E8EF;border-radius:4px;display:flex;align-items:center;justify-content:center;font-size:20px;color:#ccc}

.detail-section{margin-bottom:20px}
.detail-section-title{font-size:14px;font-weight:600;color:#333;margin-bottom:12px;padding-bottom:8px;border-bottom:1px solid #F0F0F5}
.detail-grid{display:grid;grid-template-columns:repeat(3,1fr);gap:12px 24px}
.detail-item .label{font-size:12px;color:#999;margin-bottom:2px}
.detail-item .value{font-size:14px;color:#333;font-weight:500}

.cost-card{background:#FAFAFA;border:1px solid #E8E8EF;border-radius:6px;padding:16px;margin-bottom:12px}
.cost-card .cost-label{font-size:12px;color:#999;margin-bottom:4px}
.cost-card .cost-value{font-size:20px;font-weight:700;color:#00B8A9}
.cost-card .cost-unit{font-size:12px;color:#666;margin-left:4px}

.price-card{background:linear-gradient(135deg,#00B8A9 0%,#009688 100%);border-radius:8px;padding:20px;color:#fff;margin-bottom:16px}
.price-card .price-label{font-size:12px;opacity:.8;margin-bottom:4px}
.price-card .price-value{font-size:28px;font-weight:700}
.price-card .price-unit{font-size:14px;opacity:.8;margin-left:4px}
